fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3.  
  4.  
  5.  
  6.  
  7.  
  8. void dfs(int **adj, int *visited, int v, int node)
  9. {
  10. //printf("\n%d",v);
  11. visited[v]=1;
  12. for(int i=0; i<node; i++)
  13. {
  14. if(!visited[i] && adj[v][i]==1) dfs(adj, visited, i,node);
  15. }
  16. }
  17.  
  18.  
  19. int main()
  20. {
  21. int tc, n, m, x, y, k, i, ans;
  22.  
  23.  
  24. cin>>tc;
  25. while(tc--)
  26. {
  27. ans=0;
  28. cin>>n>>m;
  29.  
  30. int **adj=new int*[n];
  31. int *visited=new int[n];
  32.  
  33. memset(adj,0,sizeof(adj));
  34. memset(visited, false, sizeof(visited));
  35.  
  36. for(i=0;i<m;i++)
  37. {
  38. cin>>x>>y;
  39. adj[x][y]=true;
  40. adj[y][x]=true;
  41. }
  42.  
  43. for(i=0;i<n;i++)
  44. {
  45. if(!visited[i])
  46. {
  47. ans++;
  48. dfs(adj, visited, i,n);
  49. }
  50. }
  51. cout<<ans<<endl;
  52. }
  53. }
  54.  
Runtime error #stdin #stdout 0s 16064KB
stdin
2
4
2
0 1
0 2
8
0
stdout
Standard output is empty