Pagini recente » Cod sursa (job #1189346) | Cod sursa (job #782076) | Cod sursa (job #3190738) | Cod sursa (job #1207924) | Cod sursa (job #851094)
Cod sursa(job #851094)
#include <fstream>
#include <vector>
using namespace std;
vector<int> a[200000];
int n, m, v[200000], k=1;
void citire()
{
int i, x, y;
ifstream in("dfs.in");
in>>n>>m;
for (i=0;i<m;++i)
{
in>>x>>y;
a[x].push_back(y);
a[y].push_back(x);
}
in.close();
}
void dfs(int nod)
{
v[nod] = k;
vector<int>::iterator i = a[nod].begin();//, end = a[nod].end();
while (i != a[nod].end())
{
if (v[*i] != k)
dfs(*i);
++i;
}
}
int main()
{
citire();
for (int i=1; i<=n; ++i)
if (!v[i])
{
dfs(i);
++k;
}
ofstream out("dfs.out");
out<<k-1;
}