Pagini recente » Cod sursa (job #2275267) | Cod sursa (job #2856859) | Cod sursa (job #172454) | Cod sursa (job #422221) | Cod sursa (job #1311137)
#include<fstream>
#include<iostream>
#include<vector>
#include<queue>
#define NMAX 25
using namespace std;
ifstream fin("dfs.in");
ofstream fout("dfs.out");
bool used[NMAX];
int N, ordine[NMAX], k, conexe;
vector<int> G[NMAX]; //pt DFS
void Read()
{
int M, x, y;
fin>>N>>M;
for(int i = 1; i <=M; i++)
{
fin>>x>>y;
G[x].push_back(y);
G[y].push_back(x);
}
}
void DFS(int nod)
{
used[nod] = 1;
ordine[++k] = nod;
for(size_t i = 0; i < G[nod].size(); i++)
{
int vec = G[nod][i];
if(!used[vec])
DFS(vec);
}
}
int main()
{
Read();
for(int i = 1; i <= N; i++)
if(!used[i])
{
conexe++;
DFS(i);
}
fout<<conexe<<"\n";
//for(int i = 1; i <= n; i++)
//cout<<ordine[i]<<" ";
return 0;
}