Pagini recente » Monitorul de evaluare | Cod sursa (job #3345344) | Cod sursa (job #3327547) | Cod sursa (job #3353603) | Cod sursa (job #3336448)
#include <bits/stdc++.h>
using namespace std;
ifstream f("dfs.in");
ofstream g("dfs.out");
int n, m;
vector <int> vecini[100001];
bitset <100001> viz;
void dfs(int i)
{
viz[i] = 1;
for (auto j : vecini[i])
if (viz[j] == 0)
viz[j] = 1, dfs(j);
}
int main()
{
f>>n>>m;
for (int i=1;i<=m;i++)
{
int x, y;
f>>x>>y;
vecini[x].push_back(y);
vecini[y].push_back(x);
}
int cnt = 0;
for (int i=1;i<=n;i++)
if (viz[i] == 0)
dfs(i), cnt++;
g<<cnt;
}