Pagini recente » Cod sursa (job #2034592) | Cod sursa (job #109465) | Cod sursa (job #2675666) | Cod sursa (job #946798) | Cod sursa (job #1295438)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
long long n,m,i,j,k;
int x,y;
vector< vector < int > > nod;
vector< bool > valid;
void dfs(int x){
valid[x]=true;
for(int j=0; j<nod[x].size(); j++)
if (valid[nod[x][j]]==false) dfs(nod[x][j]);
}
int main()
{
ifstream f("dfs.in");
ofstream g("dfs.out");
f>>n>>m;
nod.resize(n+1);
valid.resize(n+1);
for(i=1; i<=m; i++){
f>>x>>y;
nod[x].push_back(y);
nod[y].push_back(x);
}
for(i=1; i<=n; i++) valid[i]=false;
k=0;
for(i=1; i<=n; i++)
if (valid[i]==false){k++; dfs(i);}
g<<k;
f.close();
g.close();
return 0;
}