Pagini recente » Cod sursa (job #1433739) | Cod sursa (job #2215584) | Cod sursa (job #615470) | Cod sursa (job #1429648) | Cod sursa (job #1295436)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
vector< vector< int > > graf;
vector<bool> used;
ifstream f("dfs.in");
ofstream g("dfs.out");
void dfs(int x){
used[x]=true;
for(int i=0; i<graf[x].size();i++)
if(!used[graf[x][i]]) dfs(graf[x][i]);
}
int main()
{
int m,n,x,y;
f>>n>>m;
graf.resize(n+1);
for(int i=0; i<=n;i++)
used.push_back(false);
for(int i=0; i<m; i++){
f>>x>>y;
graf[x].push_back(y);
graf[y].push_back(x);
}
int answer=0;
for(int i=1; i<=n; i++){
if (!used[i]) {
answer++;
dfs(i);
}
}
g<<answer;
f.close();
g.close();
return 0;
}