Pagini recente » Cod sursa (job #2100987) | Cod sursa (job #1874730) | Cod sursa (job #2510812) | Cod sursa (job #1390912) | Cod sursa (job #2067159)
#include <fstream>
#include <vector>
#define DIM 100010
using namespace std;
int cnt = 0;
int n, m;
vector <int> graf[DIM];
bool viz[DIM];
void Read()
{
ifstream fin("dfs.in");
fin >> n >> m;
int x, y;
for (int i = 1;i <= m;++i)
{
fin >> x >> y;
graf[x].push_back(y);
graf[y].push_back(x);
}
fin.close();
}
void DFS(int nod)
{
viz[nod] = true;
for (int i = 0;i < graf[nod].size();++i)
{
if (!viz[graf[nod][i]])
DFS(graf[nod][i]);
}
}
void Solve()
{
for (int i = 1;i <= n;++i)
if (!viz[i])
{
++cnt;
DFS(i);
}
}
void Write()
{
ofstream fout("dfs.out");
fout << cnt << "\n";
fout.close();
}
int main()
{
Read();
Solve();
Write();
return 0;
}