Pagini recente » Cod sursa (job #2202900) | Cod sursa (job #505611) | Cod sursa (job #3134705) | Cod sursa (job #3271579) | Cod sursa (job #2321094)
#include <bits/stdc++.h>
#define NMAX 100001
using namespace std;
ifstream in("dfs.in");
ofstream out("dfs.out");
int viz[NMAX];
list<int> *l;
void dfs(int nod)
{
viz[nod]++;
for(auto it = l[nod].begin(); it != l[nod].end(); it++)
if(viz[*it] == 0)
{
dfs(*it);
}
}
int main()
{
int n, m;
in >> n >> m;
l = new list<int>[n+1];
while(m--)
{
int x, y;
in >> x >> y;
l[x].push_back(y);
l[y].push_back(x);
}
int cc = 0;
for(int i = 1; i <= n; i++)
if(viz[i] == 0)
{
viz[i] = 1;
if(!l[i].size())
{
cc++;
continue;
}
dfs(i);
if(viz[i] == 2) cc++;
}
out << cc;
return 0;
}