Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- using namespace std;
- int n, a[105][105],v[105],viz[105],i,j,x,y,nr,k,m;
- void dfs(int nod)
- {
- int i;
- viz[nod]=1;
- for(i=1;i<=n;i++)
- if(viz[i]==0&&a[nod][i]==1)
- dfs(i);
- }
- void dfs2(int nod)
- {
- int i;
- v[nod]=1;
- for(i=1;i<=n;i++)
- if(v[i]==0&&a[nod][i]==1)
- dfs(i);
- }
- int main()
- {
- cin>>n;
- while(cin>>x>>y)
- a[x][y]=a[y][x]=1;
- for(i=1;i<=n;i++)
- if(viz[i]==0)
- {
- dfs(1);
- nr++;
- }
- cout<<nr-1<<endl;
- k=nr;
- for(i=1;i<=n;i++)
- if(v[i]==0&&nr-1!=0)
- {
- cout<<i<<"";
- dfs2(i);
- nr++;
- k--;
- if(i==1)
- i++;
- else
- {
- if(n%2==0||k!=0)
- {
- cout<<endl;
- cout<<i<<" ";
- }
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement