Pagini recente » Borderou de evaluare (job #160395) | Cod sursa (job #1697939)
#include "iostream"
#include "fstream"
using namespace std;
int math[10][10], nod[10];
int m, n;
void dfs(int nod_start)
{
nod[nod_start] = 1;
for (int i = 1; i <= n; i++)
if (!nod[i] && math[nod_start][i])
dfs(i);
}
int main()
{
int x, y;
int numarator = 0;
ifstream dfs_in;
ofstream dfs_out;
dfs_in.open("dfs.in");
dfs_out.open("dfs.out");
if (dfs_in.fail())
{
cerr << "Eroare la deschiderea fisierului";
exit(1);
}
/*citire*/
dfs_in >> n >> m;
for (int i = 1; i <= m; i++)
{
dfs_in >> x >> y;
math[x][y] = 1;
math[y][x] = 1;
}
/*dfs*/
for (int i = 1; i <= n; i++)
if (!nod[i])
{
numarator++;
dfs(i);
}
dfs_out << numarator;
}