Cod sursa(job #165658)

Utilizator sigridMaria Stanciu sigrid Data 26 martie 2008 15:36:32
Problema Parcurgere DFS - componente conexe Scor 15
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include<fstream.h>
#define dim 100001

ifstream f("dfs.in");
ofstream g("dfs.out");
unsigned long n,m,i,cont,j,x,y,man;
unsigned long a[dim],comp[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(a[x]<y) a[y]=x;
   else if(a[y]<x)  a[x]=y;
 }
f.close();

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

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