Pagini recente » Cod sursa (job #1916506) | Cod sursa (job #1466855) | Cod sursa (job #3237928) | Cod sursa (job #26345) | Cod sursa (job #2424778)
//
// 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");
int n;
int m;
f >> n;
f >> m;
vector < vector < int > > G(5 + n);
vector < int > viz(5 + n, 0);
for(int i = 0;i < m;i++){
int x, y;
f>>x>>y;
x--;
y--;
G[x].push_back(y);
G[y].push_back(x);
}
int comp = 0;
int nr_viz = 1;
for(int i = 0; i < n;i++){
if(viz[i] == 0){
comp++;
DFS(i, nr_viz, G, viz);
}
nr_viz++;
}
g<<comp;
}