Pagini recente » Cod sursa (job #2974827) | Cod sursa (job #1480165) | Cod sursa (job #769275) | Cod sursa (job #2577419) | Cod sursa (job #558482)
Cod sursa(job #558482)
#include<fstream>
#include<iostream>
using namespace std;
int n,m,s[200001];
typedef struct nod{
int x,y;
nod*urm;
};
nod*start=0;
void afis(){
int i;
for(i=1;i<=n;i++)
cout<<s[i]<<" ";
cout<<endl;
}
void citire(){
ifstream in("dfs.in");
in>>n>>m;
int i,x,y;
for(i=1;i<=m;i++){
nod*p=new nod;
in>>x>>y;
p->x=x;
p->y=y;
p->urm=start;
start=p;
}
}
void df(int x){
s[x]=1;
afis();
nod *p;
for(p=start;p;p=p->urm)
if(p->x==x and s[p->y]==0)
df(p->y);
else if(p->y==x and s[p->x]==0)
df(p->x);
}
int main(){
citire();
int nr=0;
int i;
for(i=1;i<=n;i++)s[i]=0;
for(i=1;i<=n;i++)
if(s[i]==0){
nr++;
df(i);
}
ofstream out("dfs.out");
out<<nr;
out.close();
return 0;
}