Cod sursa(job #1135052)
Utilizator | Data | 7 martie 2014 11:41:03 | |
---|---|---|---|
Problema | Parcurgere DFS - componente conexe | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.53 kb |
#include<fstream>
#include<vector>
using namespace std;
ifstream f("dfs.in");
ofstream g("dfs.out");
vector<int>v[100001];
int nr,n,viz[100001],m;
void df(int i)
{
viz[i]=1;
for(int j=0;j<v[i].size();j++)
if(!viz[v[i][j]])
df(v[i][j]);
}
int main()
{
int x,y;
f>>n>>m;
while(f>>x>>y){v[x].push_back(y);v[y].push_back(x);}
for(int i=1;i<=n;i++)
{
if(viz[i]==0)
{
nr++;
df(i);
}
}
g<<nr<<'\n';
return 0;
}