Mai intai trebuie sa te autentifici.
Cod sursa(job #1320137)
Utilizator | Data | 17 ianuarie 2015 17:24:25 | |
---|---|---|---|
Problema | Parcurgere DFS - componente conexe | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.69 kb |
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("dfs.in");
ofstream fout("dfs.out");
vector <int> graf[100001];
int N,M, use[100001];
void DFS(int nod)
{
use[nod]=1;
for(int i=0;i<graf[nod].size();i++)
{
int vecin = graf[nod][i];
if(!use[vecin])
DFS(vecin);
}
}
void cit()
{
fin >> N;
fin >> M;
for(int i=1; i<=M; i++)
{
int a,b;
fin >> a >> b;
graf[a].push_back(b);
graf[b].push_back(a);
}
}
int main()
{
int solutie = 0;
cit();
for(int i=1;i<=N;i++)
if(!use[i]) {DFS(i);solutie++;}
fout << solutie;
return 0;
}