Pagini recente » Cod sursa (job #899989) | Cod sursa (job #80859) | Cod sursa (job #1895617) | Cod sursa (job #53378) | Cod sursa (job #1644793)
#include <fstream>
#include <vector>
#define InFile "dfs.in"
#define OutFile "dfs.out"
#define nmax 100002
using namespace std;
ifstream fin (InFile);
ofstream fout (OutFile);
vector <int> G[nmax];
bool use[nmax];
int n, m, s;
void DFS (int nod)
{
vector <int>::iterator it;
use[nod] = 1;
for (it=G[nod].begin(); it!=G[nod].end(); it++)
if (!use[*it])
DFS(*it);
}
int main ()
{
int i, x, y;
fin >> n >> m;
for (i=0; i<m; i++)
{
fin >> x >> y;
G[x].push_back(y);
G[y].push_back(x);
}
for (i=1; i<=n; i++)
if (!use[i])
{
DFS(i);
s++;
}
fout << s;
return 0;
}