Pagini recente » Istoria paginii runda/veryeasy | Cod sursa (job #1797040) | Cod sursa (job #2783491) | Cod sursa (job #2011606) | Cod sursa (job #2193646)
#include<iostream>
#include<fstream>
#include<vector>
#define infinty INT_MAX
std::ifstream f("dfs.in");
std::ofstream g("dfs.out");
std::vector<int> Muchii[10];
bool vizitat[10];
int insule = 0;
void DFS(int s) {
vizitat[s] = true;
for (unsigned int i = 0; i < Muchii[s].size(); i++) {
int vecin = Muchii[s][i];
if (!vizitat[vecin])
DFS(vecin);
}
}
void citire() {
int N, M, x, y;
f >> N >> M;
for (int i = 1; i <= M; i++) {
f >> x >> y;
Muchii[x].push_back(y);
Muchii[y].push_back(x);
}
for (int i = 1; i <= N; i++) {
if (!vizitat[i]) {
insule += 1;
DFS(i);
}
}
}
int main() {
citire();
g << insule;
return 0;
}