fork download
  1. #include<bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. int n, m, G[100][100], vis[100], comp[100][100], sizeOfComp[100], noOfComp;
  6.  
  7. void dfs(int start){
  8. vis[start] = 1;
  9. comp[noOfComp][sizeOfComp[noOfComp]++] = start;
  10. for(int i = 0;i < n;i++){
  11. if(vis[i] == 1 || G[start][i] == 0) continue;
  12. dfs(i);
  13. }
  14. }
  15.  
  16. int main(){
  17. cin >> n >> m;
  18. for(int i = 0;i < m;i++){
  19. int p, q;cin >> p >> q;
  20. G[p][q] = 1;G[q][p] = 1;
  21. }
  22. for(int i = 0;i < n;i++){
  23. if(vis[i] == 0){
  24. dfs(i);
  25. noOfComp++;
  26. }
  27. }
  28. cout << "New Edges : " << endl;
  29. for(int i = 0;i < noOfComp-1;i++){
  30. cout << comp[i][0] << " " << comp[i+1][0] << endl;
  31. }
  32.  
  33. return 0;
  34. }
  35.  
Success #stdin #stdout 0s 3492KB
stdin
13 12
1 2
1 3
2 3
3 5
2 4
4 0
6 7
7 8
7 9
9 8
10 11
10 12
stdout
New Edges : 
0 6
6 10