Pagini recente » Cod sursa (job #1007531) | Cod sursa (job #74936) | Cod sursa (job #2058300) | Cod sursa (job #1801708) | Cod sursa (job #2424765)
//
// Created by Cristian Stern on 5/23/2019.
//
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
void DFS(int nod, int cmp, vector < vector < int > > G, vector < int > &viz){
viz[nod] = cmp;
for(auto vecin:G[nod]){
if(viz[vecin] == 0)
DFS(vecin, cmp, G, viz);
}
}
int main(){
ifstream f("dfs.in");
ofstream g("dfs.out");
//ifstream f("E:\\FMI\\AG\\lab3\\date.in");
//ofstream g("E:\\FMI\\AG\\lab3\\date.out");
unsigned long long int n;
int m, x, y;
try {
f >> n >> m;
if (n <= 0)
throw 5;
}
catch (int x){
x = -x;
}
vector < vector < int > > G(5 + n);
vector < int > viz(5 + n, 0);
for(int i = 0;i < m;i++){
f>>x>>y;
x--;
y--;
G[x].push_back(y);
G[y].push_back(x);
}
int comp = 0;
int nr_viz = 0;
for(int i = 0; i < n;i++){
if(viz[i] == 0){
comp++;
DFS(i, comp, G, viz);
}
}
g<<comp;
}