Pagini recente » Cod sursa (job #1265001) | Cod sursa (job #2407425) | Cod sursa (job #1616055) | Cod sursa (job #2414323) | Cod sursa (job #302970)
Cod sursa(job #302970)
#include <cstdio>
#include <algorithm>
#include <vector>
using namespace std;
#define Nmax 100100
#define FIN "dfs.in"
#define FOUT "dfs.out"
#define pb push_back
#define sz size
vector<int> a[Nmax];
int n,m;
int viz[Nmax];
int x,y,nr;
void dfs(int nod)
{
int i,j;
viz[nod]=1;
for (i=0;i<a[nod].sz();++i)
if (!viz[a[nod][i]])
dfs(a[nod][i]);
}
void citire()
{
int i,j;
freopen(FIN,"r",stdin);
freopen(FOUT,"w",stdout);
scanf("%d %d\n", &n,&m);
for (i=1;i<=m;++i)
{
scanf("%d %d\n", &x,&y);
a[x].pb(y);
a[y].pb(x);
}
for(i=1;i<=n;++i)
if (!viz[i])
{
nr++;
dfs(i);
}
}
void scrie()
{
int i,j;
printf("%d\n", nr);
}
int main()
{
citire();
scrie();
fclose(stdin);
fclose(stdout);
return 0;
}