Pagini recente » Cod sursa (job #2206731) | Cod sursa (job #2361338) | Cod sursa (job #1937298) | Cod sursa (job #80038) | Cod sursa (job #931340)
Cod sursa(job #931340)
#include<iostream>
#include<fstream>
#include<vector>
using namespace std;
void modif(bool wiz[]) { wiz[0]=0; }
void dfs(int z, bool wiz[], vector< vector<int> > b) {
wiz[z]=1; int k;
while (!b[z].empty()) { k=b[z].back();
b[z].pop_back(); if(!wiz[k]) { dfs(k, wiz, b);} }
}
int main()
{
int n,m,x,y,num=0;
ifstream sursa("dfs.in");
ofstream dest("dfs.out");
sursa >> n >> m;
vector < vector <int> > a(n+1);
for (int i=1; i<=m; i++) {
sursa >> x >> y; a[x].push_back(y); a[y].push_back(x); }
sursa.close();
bool viz[n+1];
for (int i=1; i<=n ;i++) { viz[i]=0;}
for (int i=1; i<=n; i++)
{ if (!viz[i]) { num+=1; dfs(i, viz, a); }}
dest << num; dest.close();
return(0);
}