Advertisement
Ilya_konstantinov

18B

Feb 26th, 2024 (edited)
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.86 KB | Source Code | 0 0
  1. #include <iostream>
  2. #include <vector>
  3.  
  4. using std::cin;
  5. using std::cout;
  6. using std::vector;
  7.  
  8. struct Node {
  9.   int data;
  10.   Node *next;
  11. };
  12.  
  13.  
  14. Node* create(int _data) {
  15.   Node *t = new Node();
  16.   t->data = _data;
  17.   t->next = nullptr;
  18.   return t;
  19. }
  20.  
  21. void add_back(Node *&root, Node *added) {
  22.   root->next = added;
  23. }
  24.  
  25. #include "func.h"
  26.  
  27. int main() {
  28.   int n; cin >> n;
  29.   vector<Node*> data(n);
  30.  
  31.   for(int i = 0; i < n; ++i) {
  32.     data[i] = create(0);
  33.   }
  34. // Ввод работает таким образом: для каждоый вершины i вводится номер вершины, в которую она следует
  35. // Если у вершины нет следующего элемента, то k == 0
  36.   for(int i = 0; i < n; ++i) {
  37.     int k; cin >> k;
  38.     if (k)
  39.       data[i]->next = data[k-1];
  40.   }
  41.  
  42.   cycle(data[0]);
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement