Pagini recente » Cod sursa (job #2840958) | Cod sursa (job #358095) | Cod sursa (job #1494022)
#include <iostream>
#include <fstream>
#include <string.h>
#define N_MAX 10001
using namespace std;
ifstream f("dfs.in");
ofstream g("dfs.out");
short viz[N_MAX],G[N_MAX][N_MAX];
int n,m;
inline void Read()
{
f >> n >> m;
int x,y;
for(int k = 1; k <= n; k++)
{
f >> x >> y;
G[x][y] = G[y][x] = 1;
}
f.close();
}
void DFS(int nod)
{
viz[nod] = 1;
for(int k = 1; k <= n; k++)
if(!viz[k] && G[nod][k])
DFS(k);
}
int main()
{
int p = 0;
memset(viz,0,N_MAX);
Read();
for(int h = 1; h <= n; h++)
if(!viz[h])
{
p++;
DFS(h);
}
g << p;
return 0;
}