Pagini recente » Cod sursa (job #449937) | Cod sursa (job #2647528) | Cod sursa (job #3207728) | Cod sursa (job #1521054) | Cod sursa (job #999258)
Cod sursa(job #999258)
#include<iostream>
#include<fstream>
#include<vector>
using namespace std;
ifstream fin("dfs.in");
ofstream fout("dfs.out");
struct nod {
bool vizitat;
vector<int> vecini;
};
int m, n, i, nr, a, b;
nod nodes[100002];
void fill(int x) {
int l, j;
nodes[x].vizitat = true;
l = nodes[x].vecini.size();
for(j = 0; j < l; j++) {
int vecin = nodes[x].vecini[j];
if(nodes[vecin].vizitat == false) {
fill(vecin);
}
}
}
int main() {
fin >> n >> m;
for(i = 0; i < m; i++) {
fin >> a >> b;
nodes[a].vecini.push_back(b);
nodes[b].vecini.push_back(a);
}
for(i = 1; i <= n; i++) {
if(nodes[i].vizitat == false) {
fill(i);
nr++;
}
}
fout << nr;
fin.close();
fout.close();
return 0;
}