Pagini recente » Cod sursa (job #1526656) | Cod sursa (job #1247767) | Cod sursa (job #2943334) | Cod sursa (job #620832) | Cod sursa (job #2810174)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f ("dfs.in");
ofstream g ("dfs.out");
int n, m;
bool a[10001][10001], viz[10001];
void Citire()
{
f >> n >> m;
for (int i = 1; i <= m; i++)
{
int x, y;
f >> x >> y;
a[x][y] = a[y][x] = 1;
}
}
void DFS(int start)
{
viz[start] = 1;
for (int i = 1; i <= n; i++)
{
if (a[start][i] == 1 && viz[i] == 0)
{
DFS(i);
}
}
}
int main()
{
Citire();
int insule = 0;
for (int i = 1; i <= n; i++)
{
if (viz[i] == 0)
{
insule++;
DFS(i);
}
}
g << insule;
}