Cod sursa(job #1308502)

Utilizator Bursucelthe coppice Bursucel Data 4 ianuarie 2015 11:22:24
Problema Parcurgere DFS - componente conexe Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include<fstream>
#include<vector>
using namespace std;
ifstream f("dfs.in"); ofstream g("dfs.out");
const int D=100001;
int n,m,nr,viz[D];
vector <int> L[D];
void read()
{	f>>n>>m;
	for(int x,y,i=1;i<=m;i++) {f>>x>>y; L[x].push_back(y); L[y].push_back(x);}
}
void DF(int k)
{	viz[k]=1;
	for(unsigned int i=0;i<L[k].size();i++)
		if(viz[L[k][i]]==0) DF(L[k][i]);
}
void solve()
{	for(int i=1;i<=n;i++)
		if(viz[i]==0) {nr++; DF(i);}
    g<<nr; g.close();
}
int main()
{	read(); solve(); return 0; }