Pagini recente » Cod sursa (job #2513170) | Cod sursa (job #2935916) | Cod sursa (job #1208095) | Cod sursa (job #1073069) | Cod sursa (job #1784375)
#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-1].vecini.push_back(y-1);
v[y-1].vecini.push_back(x-1);
}
for (int i=0;i<n;++i)
if (!v[i].vaz)
dfs(i,++indice);
t<<indice;
return 0;
}