Pagini recente » Cod sursa (job #3316880) | Cod sursa (job #3316874) | Cod sursa (job #3316828) | Cod sursa (job #3328815) | Cod sursa (job #3316864)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
int n, m, nr;
int L[10000001];
int viz[10000001];
void DFS(int nod) {
viz[nod] = 1;
for (auto vecin : L[nod]) {
if (viz[vecin] == 0)
DFS(vecin);
}
}
int main() {
ifstream fin("dfs.in");
fin >> n >> m;
for (int i = 1 ; i <= m ; i++)
fin >> L[i];
for (int i = 1 ; i <= n ; i++) {
if (viz[i] ==0){
nr++;
DFS(i);
}
}
ofstream fout("dfs.out");
fout << nr;
}