Pagini recente » Cod sursa (job #2273211) | Cod sursa (job #3125311) | Cod sursa (job #2067234) | Cod sursa (job #2824391) | Cod sursa (job #997674)
Cod sursa(job #997674)
#include <iostream>
#include <fstream>
#include <vector>
#include <queue>
using namespace std;
#define vi vector <int>
#define vit vector <int> :: iterator
#define vii vector <pair <int, int> >
#define viit vector <pair <int, int> > :: iterator
ifstream f("dfs.in"); ofstream g("dfs.out");
int i, j, n, m, x, y, k;
vi graph[111111];
bool viz[111111];
void dfs(int node){
viz[node]=1;
for (vit it=graph[node].begin(); it!=graph[node].end(); it++){
if (!viz[*it]) dfs (*it);
}
}
int main(){
f>>n>>m;
for (i=1; i<=m; i++){
f>>x>>y;
graph[x].push_back(y);
graph[y].push_back(x);
}
for (i=1; i<=n; i++){
if (!viz[i]){
dfs(i);
k++;
}
}
g<<k;
}