fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int n,m,q,d=0,b[100005];
  5. vector<int>a[100005];
  6. bool visited[100005];
  7. void bfs(int s){
  8. queue<int>qu;
  9. qu.push(s);
  10. visited[s]=true;
  11. while(!qu.empty()){
  12. int u=qu.front();
  13. qu.pop();
  14. for(int i=0;i<a[u].size();i++){
  15. if(!visited[a[u][i]]){
  16. qu.push(a[u][i]);
  17. d++;
  18. b[d]=a[u][i];
  19. }
  20. }
  21. }
  22. }
  23. int main() {
  24. cin>>n>>m>>q;
  25. for(int i=1;i<=m;i++){
  26. for(int j=1;j<=n;j++){
  27. int x;
  28. cin>>x;
  29. a[j].push_back(x);
  30. a[x].push_back(j);
  31. }
  32. }
  33.  
  34. for(int i=1;i<=n;i++){
  35. if(!visited[i]){
  36. d=0;
  37. bfs(i);
  38. for(int j=1;j<=d;j++){
  39. cout<<b[j]<<" ";
  40. }
  41. cout<<"\n";
  42. }
  43. }
  44. return 0;
  45. }
Success #stdin #stdout 0.01s 5864KB
stdin
4 1 3 
1 2 4 3
stdout

4 4