Pagini recente » Cod sursa (job #1891020) | Cod sursa (job #781265) | Cod sursa (job #440238) | Cod sursa (job #2174470) | Cod sursa (job #2926060)
// Adjascency List representation in C++
#include <fstream>
#include<vector>
using namespace std;
ifstream cin("dfs.in");
ofstream cout("dfs.out");
// Create a graph
vector<int> adj[1001];
int n,m,nr=0;
bool v[1001]={false};
// Add edge
void addEdge(vector<int> adj[], int s, int d) {
adj[s].push_back(d);
adj[d].push_back(s);
}
void dfs(int c){
v[c]=true;
for (auto x : adj[c]){
if(!v[x])
dfs(x);
}
}
int main() {
cin>>n>>m;
for(int i=1; i<=m; i++){
int a,b;
cin>>a>>b;
addEdge(adj,a,b);
}
for(int i=1; i<=n; i++){
if(!v[i]){
nr++;
dfs(i);
}
}
cout<<nr;
}