Advertisement
Guest User

Untitled

a guest
Nov 20th, 2019
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.91 KB | None | 0 0
  1. #include<iostream>
  2. using namespace std;
  3. int n, a[105][105],v[105],viz[105],i,j,x,y,nr,k,m;
  4. void dfs(int nod)
  5. {
  6. int i;
  7. viz[nod]=1;
  8. for(i=1;i<=n;i++)
  9. if(viz[i]==0&&a[nod][i]==1)
  10. dfs(i);
  11. }
  12. void dfs2(int nod)
  13. {
  14. int i;
  15. v[nod]=1;
  16. for(i=1;i<=n;i++)
  17. if(v[i]==0&&a[nod][i]==1)
  18. dfs(i);
  19. }
  20. int main()
  21. {
  22. cin>>n;
  23. while(cin>>x>>y)
  24. a[x][y]=a[y][x]=1;
  25. for(i=1;i<=n;i++)
  26. if(viz[i]==0)
  27. {
  28. dfs(1);
  29. nr++;
  30. }
  31. cout<<nr-1<<endl;
  32. k=nr;
  33. for(i=1;i<=n;i++)
  34. if(v[i]==0&&nr-1!=0)
  35. {
  36. cout<<i<<"";
  37. dfs2(i);
  38. nr++;
  39. k--;
  40. if(i==1)
  41. i++;
  42. else
  43. {
  44. if(n%2==0||k!=0)
  45. {
  46. cout<<endl;
  47. cout<<i<<" ";
  48. }
  49. }
  50. }
  51. return 0;
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement