Pagini recente » Cod sursa (job #2257267) | Cod sursa (job #1272877) | Cod sursa (job #452275) | Cod sursa (job #667129) | Cod sursa (job #1344951)
#include <iostream>
#include<fstream>
#include<vector>
using namespace std;
ifstream f("dfs.in");
ofstream g("dfs.out");
vector<vector<int> > a;
int n,m,i,viz[100001];
void df(int i)
{
viz[i]=1;
for(vector<int>::iterator it=a[i].begin();it!=a[i].end();it++)
if(viz[*it]==0)
df(*it);
}
void citire()
{
int x,y,i;
f>>n>>m;
a=vector<vector<int> >(n+1);
for(i=1;i<=m;i++)
{
f>>x>>y;
a[x].push_back(y);
a[y].push_back(x);
}
}
void rezolvare()
{
int k=0;
for(i=1;i<=n;i++)
if(viz[i]==0) {k++; df(i);}
g<<k<<'\n';
}
int main()
{
citire();
rezolvare();
return 0;
}