Pagini recente » Borderou de evaluare (job #1248897) | Cod sursa (job #790527) | Borderou de evaluare (job #3003669) | Cod sursa (job #2772739) | Cod sursa (job #732265)
Cod sursa(job #732265)
#include<iostream>
#include<fstream>
#include<vector>
using namespace std;
ifstream in("dfs.in");
ofstream out("dfs.out");
vector <int> graf[100005];
char f[100005];
void dfs(int x)
{
int i;
f[x]=1;
for(i=0;i<graf[x].size();i++)
if(!f[graf[x][i]])
dfs(graf[x][i]);
}
int main()
{
int i,n,m,nr=0,nod1,nod2;
in>>n>>m;
for(i=1;i<=m;i++){
in>>nod1>>nod2;
graf[nod1].push_back(nod2);
graf[nod2].push_back(nod1);
}
for(i=1;i<=m;i++)
if(!f[i])
++nr,dfs(i);
out<<nr;
return 0;
}