Pagini recente » Cod sursa (job #791282) | Cod sursa (job #1679133) | Sandbox (cutiuţa cu năsip) | Cod sursa (job #1341144) | Cod sursa (job #1609720)
#include <iostream>
#include <cstdio>
#include <queue>
#include <vector>
using namespace std;
FILE *f=fopen("dfs.in","r");
queue <int> q;
vector <int> lv[100009];
int n,m;
int used[100009];
void dfs(int nc)
{
used[nc]=1;
vector <int> ::iterator ii;
for(ii=lv[nc].begin();ii!=lv[nc].end();ii++)
{
if(!used[*ii])
dfs(*ii);
}
}
int main()
{
int x,y,i;
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;
}