Pagini recente » Cod sursa (job #371997) | Cod sursa (job #1318797) | Cod sursa (job #627527) | Cod sursa (job #375086) | Cod sursa (job #1784362)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream f ("dfs.in");
ofstream t ("dfs.out");
struct nod{
int val;
bool vaz;
vector <int> vecini;};
vector <nod> v(100010);
void dfs(int nod,const int marker){
v[nod].vaz=true;
v[nod].val=marker;
for (auto i:v[nod].vecini)
if (!v[i].vaz)
dfs(i,marker);
}
int main()
{ int n,m,x,y,indice=0;
f>>n>>m;
for (int i=0;i<m;++i){
f>>x>>y;
v[x].vecini.push_back(y);
v[y].vecini.push_back(x);
}
for (int i=0;i<n;++i)
if (!v[i].vaz)
dfs(i,++indice);
t<<indice;
return 0;
}