Pagini recente » Cod sursa (job #1822577) | Cod sursa (job #85623) | Cod sursa (job #3208699) | Cod sursa (job #1179272) | Cod sursa (job #921701)
Cod sursa(job #921701)
#include <vector>
#define max1 100005
#define max2 200000
#include <stdio.h>
using namespace std;
int viz[max1];
void df(vector<int> v[max1],int x){
viz[x] = 1;
for(int i = 1;i <= v[x].size(); ++i)
if(viz[v[x][i]] == 0) df(v,v[x][i]);
}
int main()
{
int n,m,i,a,b,k = 0;
FILE *f,*g;
f = fopen("dfs.in","r");
g = fopen("dfs.out","w");
vector <int> vec[max1];
fscanf(f,"%d",&n);
fscanf(f,"%d",&m);
for( i = 1; i <= m; i++){
fscanf(f,"%d",&a);
fscanf(f,"%d",&b);
vec[a].push_back(b);
vec[b].push_back(a);
}
for (i = 1; i <= n; i++) if (!viz[i]) { k++; df(vec,i);}
fprintf(g,"%d", k);
return 0;
}