Pagini recente » Cod sursa (job #2131071) | Cod sursa (job #1678705) | Cod sursa (job #931141) | Cod sursa (job #377517) | Cod sursa (job #921687)
Cod sursa(job #921687)
#include <iostream>
#include <vector>
#define max1 100000
#define max2 200000
#include <stdio.h>
using namespace std;
int viz[max1];
int df(vector<int> v[max1],int x){
viz[x] = 1;
cout<<x<<" ";
for(int i = 0;i < v[x].size(); ++i)
if(viz[v[x][i]] == 0) df(v,v[x][i]);
}
int main()
{
int n,m,i,j,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( j = 0; j < m; j++){
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);
}