Pagini recente » Cod sursa (job #2866725) | Cod sursa (job #783657) | Cod sursa (job #2289703) | Cod sursa (job #2298211) | Cod sursa (job #1608628)
#include <stdio.h>
#include <vector>
using namespace std;
vector<unsigned> graf[100001];
unsigned comp[100001];
long n,m,i,x,y,q;
void dfs(unsigned nod,unsigned c)
{
comp[nod]=c;
for(int i=0;i<graf[nod].size();i++)
if(comp[graf[nod][i]]==0)
dfs(graf[nod][i],c);
}
int main()
{
FILE *f1,*f2;
f1=fopen("dfs.in","r");
f2=fopen("dfs.out","w");
fscanf(f1,"%ld%ld",&n,&m);
for(i=0;i<m;i++)
{
fscanf(f1,"%ld%ld",&x,&y);
graf[x].push_back(y);
graf[y].push_back(x);
}
for(i=1;i<=n;i++)
if(comp[i]==0)
dfs(i,++q);
fprintf(f2,"%ld",q);
return 0;
}