Advertisement
leminhkt

86

Mar 9th, 2021
658
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.77 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. #define ll long long
  5. const int N = 1001;
  6. bool a[N][N];
  7. int kq[N], d[N];
  8. int n, k, dem;
  9.  
  10. void nhap() {
  11.     cin >> n >> k; kq[1] = k;
  12.     for (int i = 1; i <= n; ++i) {
  13.         int m; cin >> m;
  14.         for (int j = 1; j <= m; ++j) {
  15.             int x; cin >> x;
  16.             a[i][x] = true;
  17.         }
  18.     }
  19. }
  20.  
  21. void dfs(int u) {
  22.     d[u] = true;
  23.     for (int v = 1; v <= n; ++v) {
  24.         if (a[u][v] == 1 && d[v] == false) {
  25.             kq[++dem] = v; d[v] = true;
  26.             dfs(v);
  27.         }
  28.     }
  29. }  
  30.  
  31. void inKq() {
  32.     cout << dem << endl;
  33.     for (int j = 1; j <= dem; ++j)
  34.         cout << kq[j] << ' ';
  35. }
  36.  
  37. int main() {
  38.     cin.tie(nullptr) -> sync_with_stdio(false);
  39.     // freopen("ds.inp", "r", stdin);
  40.     // freopen("ds.out", "w", stdout);
  41.  
  42.     nhap();
  43.     dem = 1; dfs(k);
  44.     inKq();
  45.     return 0;
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement