Pagini recente » Cod sursa (job #260583) | Cod sursa (job #1096523) | Cod sursa (job #635218) | Cod sursa (job #3266077) | Cod sursa (job #3262702)
#include <bits/stdc++.h>
using namespace std;
ifstream in("dfs.in");
ofstream out("dfs.out");
int n, m, start, nrCompConex;
vector<int> g[105], ans[105];
bitset<105> used;
void dfs(int node) {
used[node] = true;
ans[nrCompConex].push_back(node);
for(auto nxt : g[node])
if(!used[nxt])
dfs(nxt);
}
int main() {
in >> n;
int u, v;
while(in >> u >> v) {
// out << u << ' ' << v << '\n';
g[u].push_back(v);
g[v].push_back(u);
}
/*
out << n << '\n';
for(int i = 1; i <= n; i++) {
for(auto elem : g[i])
out << elem << ' ';
out << '\n';
}
*/
for(int i = 1; i <= n; i++) {
if(!used[i]) {
nrCompConex++;
dfs(i);
sort(ans[nrCompConex].begin(), ans[nrCompConex].end());
}
}
out << nrCompConex << '\n';
/*
for(int i = 1; i <= nrCompConex; i++) {
for(auto elem : ans[i])
out << elem << ' ';
out << '\n';
}
*/
return 0;
}