Cod sursa(job #1001819)
Utilizator | Florea Vlad Florea_Vlad | Data | 26 septembrie 2013 10:52:08 |
---|---|---|---|
Problema | Parcurgere DFS - componente conexe | Scor | 5 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.55 kb |
using namespace std;
#include<fstream>
#include<vector>
ifstream fin("dfs.in");
ofstream fout("dfs.out");
int use[100002];
vector<int> G[100002];
void DFS(int nod)
{
use[nod]=1;
vector<int>::iterator it;
for(it=G[nod].begin();it!=G[nod].end();it++)
{
if(use[*it])
DFS(*it);
}
}
int main()
{
int nr=0;
int N,a,b,i,M;
fin>>N;
fin>>M;
for(i=1;i<=M;i++)
{
fin>>a;
fin>>b;
G[a].push_back(b);
G[b].push_back(a);
}
for(i=1;i<=N;i++)
if(!use[i])
{
DFS(i);
nr++;
}
fout<<nr;
return 0;
}