Pagini recente » Cod sursa (job #2769989) | Cod sursa (job #2301129) | Cod sursa (job #2402761) | Cod sursa (job #1633637) | Cod sursa (job #280548)
Cod sursa(job #280548)
#include<fstream.h>
ifstream f("dfs.in");
ofstream g("dfs.out");
int a[1000][1000],viz[100000],c[100000];
unsigned long n,q;
unsigned long parcurgere(unsigned long x,unsigned long m)
{
unsigned long p=1,u=1,i;
viz[x]=m;
c[u]=x;
while(p<=u)
{
for(i=1;i<=n;i++)
if(a[c[p]][i]==1&&a[i][c[p]]==1&&viz[i]==0)
{c[++u]=i;
viz[i]=m;
}
p++;
}
return 0;
}
int main()
{unsigned long i,x,y;
int z=1;
f>>n>>q;
for(i=1;i<=q;i++)
{f>>x>>y; a[x][y]=1;}
f.close();
parcurgere(1,z);
for(i=1;i<=n;i++)
if(viz[i]==0) parcurgere(i,z++);
g<<z-- ;
g.close();
return 0;
}