Pagini recente » Cod sursa (job #404443) | Cod sursa (job #933043) | Cod sursa (job #603456) | Cod sursa (job #1874540) | Cod sursa (job #1569392)
#include <cstdio>
#include <vector>
using namespace std;
vector <int> lv[100001];
int used[100001];
void dfs(int nc)
{
used[nc]=1;
vector<int>::iterator i;
for(i=lv[nc].begin();i!=lv[nc].end();++i)
if(!used[*i])
dfs(*i);
}
int main()
{
int n,m,x,y,i;
FILE *f=fopen("dfs.in","r");
fscanf(f,"%d%d",&n,&m);
for(i=1;i<=m;i++)
{
fscanf(f,"%d%d",&x,&y);
lv[x].push_back(y);
lv[y].push_back(x);
}
int ncc=0;
for(i=1;i<=n;i++)
if(!used[i])
{
dfs(i);
ncc++;
}
fclose(f);
f=fopen("dfs.out","w");
fprintf(f,"%d",ncc);
return 0;
}