Pagini recente » Cod sursa (job #1243349) | Cod sursa (job #1433798) | Cod sursa (job #1489013) | Cod sursa (job #1937618) | Cod sursa (job #779941)
Cod sursa(job #779941)
#include <stdio.h>
#include <vector>
#define NMax 100010
using namespace std;
const char IN[]="dfs.in",OUT[]="dfs.out";
int N,M,Rez;
bool b[NMax];
vector<int> ad[NMax];
void dfs(int x){
b[x]=true;
for (int i=0;i<(int)ad[x].size();++i) if (!b[ad[x][i]])
dfs(ad[x][i]);
}
int main()
{
int i,x,y;
freopen(IN,"r",stdin);
scanf("%d%d",&N,&M);
while (M--)
{
scanf("%d%d",&x,&y);
ad[x].push_back(y);
ad[y].push_back(x);
}
fclose(stdin);
for (i=1;i<=N;++i) if (!b[i]){
++Rez;
dfs(i);
}
freopen(OUT,"w",stdout);
printf("%d\n",Rez);
fclose(stdout);
return 0;
}