Pagini recente » Cod sursa (job #2475575) | Cod sursa (job #2533084) | Cod sursa (job #1536778) | Cod sursa (job #589069) | Cod sursa (job #1324484)
//
// main.cpp
// Playground
//
// Created by Stefan Iarca on 1/22/15.
// Copyright (c) 2015 Stefan Iarca. All rights reserved.
//
#include <fstream>
#include <vector>
using namespace std;
#define NMAX 100005
ifstream f("dfs.in");
ofstream g("dfs.out");
int N,M;
bool Used[NMAX];
vector<int> G[NMAX];
int Count;
void Read(){
f>>N>>M;
for (int i = 1; i <= M; i++) {
int x,y;
f>>x>>y;
G[x].push_back(y);
G[y].push_back(x);
}
}
void DFS(int Nod){
Used[Nod] = true;
for (int i = 0; i < G[Nod].size(); i++) {
if (!Used[G[Nod][i]]) {
DFS(G[Nod][i]);
}
}
}
void Solve(){
for (int i = 1; i <= N; i++) {
if (!Used[i]) {
DFS(i);
Count++;
}
}
}
void Write(){
g<<Count;
}
int main() {
Read();
Solve();
Write();
return 0;
}