Pagini recente » Cod sursa (job #1824393) | Cod sursa (job #2923076) | Cod sursa (job #1788959) | Cod sursa (job #1054237) | Cod sursa (job #374857)
Cod sursa(job #374857)
#include<fstream.h>
#include<iostream.h>
int v[401000][2],start[101000],viz[101000],n,m,i,x,nr,y,k;
void df(int nod)
{
int t;
t=start[nod];
viz[nod]=1;
while(t)
{
if(!viz[v[t][0]])
df(v[t][0]);
t=v[t][1];
}
}
int main()
{
ifstream f("dfs.in");
ofstream g("dfs.out");
f>>n>>m;
for(i=1;i<=m;i++)
{
f>>x>>y;
v[++k][0]=y;
v[k][1]=start[x];
start[x]=k;
v[++k][0]=x;
v[k][1]=start[y];
start[y]=k;
}
i=1;
nr=0;
while(i<=n)
{
while(viz[i])
i++;
if(i<=n)
{
df(i);
nr++;
}
}
g<<nr;
return 0;
}