Cod sursa(job #156797)

Utilizator sigridMaria Stanciu sigrid Data 12 martie 2008 19:04:49
Problema Parcurgere DFS - componente conexe Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
#include<fstream.h>
#define dim 100001

ifstream f("dfs.in");
ofstream g("dfs.out");
int n,m,i,cont,j,x,y;
int a[dim];

int main()
{
f>>n>>m;

for(i=1;i<=n;i++)
 a[i]=i;
for(i=1;i<=m;i++)
 {f>>x>>y;
  if(x<y) a[y]=x;
   else a[x]=y;
 }
f.close();

int ok,man;
for(i=n;i>=1;i--)
 if(a[i])
 {cont++;
  j=i;
  ok=1;
  do
   {if(j==a[j]) ok=0;
    man=a[j];
    a[j]=0;
    j=man;
   }
  while(ok);
 }

g<<cont<<'\n';
g.close();
return 0;
}