fork(2) download
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. struct node
  6. {
  7. int id;
  8. node* next;
  9.  
  10. node(int i, node* n) { id =i , next = n; }
  11. } *Start[100005] , *End[100005];
  12.  
  13. int main()
  14. {
  15. int n,q;
  16.  
  17. cin>>n>>q;
  18. for (int i=1 ; i<=n ; i++) { Start[i] = End[i] = new node(i,NULL); }
  19.  
  20. for (int i=1 ; i<=q ; i++)
  21. {
  22. int s,t;
  23. cin>>s>>t;
  24. End[s]->next = Start[t];
  25. Start[t] = Start[s];
  26. if (End[t]==NULL) End[t] = End[s];
  27. Start[s] = End[s] = NULL;
  28. }
  29.  
  30. int a[100005];
  31. for (int i=1 ; i<=n ; i++)
  32. {
  33. node* p = Start[i];
  34. while (p) a[p->id] = i , p = p->next;
  35. }
  36.  
  37. for (int i=1 ; i<=n ; i++) cout<<a[i]<<" ";
  38.  
  39. return 0;
  40. }
Success #stdin #stdout 0s 4504KB
stdin
Standard input is empty
stdout
Standard output is empty