Pagini recente » Cod sursa (job #2990154) | Cod sursa (job #1230785) | Cod sursa (job #2306636) | Cod sursa (job #2444960) | Cod sursa (job #1123559)
#include <stdio.h>
#include <vector>
using namespace std;
FILE *fin,*fout;
int n,m,cate;
vector <int> L[100001];
bool viz[100001];
void citire()
{
int a,b;
fin=fopen("dfs.in","r");
fout=fopen("dfs.out","w");
fscanf(fin,"%d%d",&n,&m);
for(int i=1;i<=m;i++){
fscanf(fin,"%d%d",&a,&b);
L[a].push_back(b);
L[b].push_back(a);
}
}
void dfs(int x)
{
viz[x]=1;
for( int i=0;i<L[x].size();i++)
if(viz[L[x][i]]==0)
dfs(L[x][i]);
}
int main()
{
citire();
for(int i=1;i<=n;i++)
if(viz[i]==0)
{
dfs(i);
cate++;
}
fprintf(fout,"%d",cate);
}