Pagini recente » Cod sursa (job #997525) | Cod sursa (job #1375403) | Cod sursa (job #1957057) | Cod sursa (job #637937) | Cod sursa (job #2827504)
#include <fstream>
#include <vector>
#include <queue>
#include <bitset>
using namespace std;
ifstream f("dfs.in");
ofstream g("dfs.out");
vector <int>v[100001];
bitset<100001>viz;
queue<int>q;
int i, j, k;
int n, m,start;
void apel(int st)
{
viz[st] = 1;
for (vector<int>::iterator it = v[st].begin(); it < v[st].end(); it++)
{
if (!viz[*it]) {
viz[*it] = 1;
apel(*it);
}
}
}
int main()
{
f >> n >> m ;
for (int y = 1; y <= m; y++)
{
f >> i >> j;
v[i].push_back(j);
v[j].push_back(i);
}
int cnt = 0;
for (int i = 1; i <= n; i++) {
if (!viz[i]) {
cnt++;
apel(i);
}
}
g << cnt;
}