Pagini recente » Rating Laurentiu Ploscaru (Lawasu) | Cod sursa (job #2662576) | Cod sursa (job #2706781)
#include <iostream>
#include<fstream>
using namespace std;
ifstream fin("dfs.in");
ofstream fout("dfs.out");
bool viz[100001];
int t[2][100001],start[100001],n,m,k,nrc,i,x,y;
void df(int nod)
{ int fiu;
viz[nod]=1;
int aux=start[nod];
while(aux){
fiu=t[0][aux];
if(viz[fiu]==0)
df(fiu);
aux=t[1][aux];
}
}
int main()
{
fin>>n>>m;
for(i=1;i<=m;i++){
fin>>x>>y;
k++;
t[0][k]=y;
t[1][k]=start[x];
start[x]=k;
k++;
t[0][k]=x;
t[1][k]=start[y];
start[y]=k;
}
for(i=1;i<=n;i++)
if(viz[i]==0){
nrc++;
df(i);
}
fout<<nrc;
return 0;
}