Pagini recente » Clasament incercam | Cod sursa (job #1741663) | Cod sursa (job #1186372) | Cod sursa (job #761956) | Cod sursa (job #1041830)
#include <iostream>
#include <fstream>
using namespace std;
int n,m,x,y,l[200001][1001],k;
bool viz[200001];
void dfs(int i)
{
if(viz[i]==false)
{
viz[i]=true;
for(int j=1;j<=l[i][0];j++)
{
if(viz[l[i][j]]==false)
dfs(l[i][j]);
}
}
}
int main()
{
int i,j;
freopen("dfs.in","r",stdin);
freopen("dfs.out","w",stdout);
cin>>n>>m;
for(i=1;i<=m;i++)
{
cin>>x;
cin>>y;
l[x][0]++;
l[x][l[x][0]]=y;
l[y][0]++;
l[y][l[y][0]]=x;
}/*
for(i=1;i<=n;i++)
{
for(j=1;j<=l[i][0];j++)
cout<<l[i][j]<<" ";
cout<<"\n";
}*/
for(i=1;i<=n;i++)
{
if(!viz[i])
{
dfs(i);
k++;
}
}
cout<<k<<"\n";
return 0;
}