Pagini recente » Cod sursa (job #721560) | Cod sursa (job #2245550) | Cod sursa (job #2692865) | Cod sursa (job #1822926) | Cod sursa (job #2174526)
#include <bits/stdc++.h>
using namespace std;
ifstream f("dfs.in");
ofstream g("dfs.out");
struct nod{int nr;nod *urm;}*a[100001];
int n,m,v[100001],nr;
void pune(int x,int y)
{
nod *p=new nod;
p->nr=y;
p->urm=a[x];
a[x]=p;
}
int muchie(int x, int y)
{
nod *p=a[x];
while(p)
{
if(p->nr==y)
return 1;
p=p->urm;
}
return 0;
}
void df(int k)
{
v[k]=nr;
nod *p=a[k];
while(p)
{
if(!v[p->nr])
df(p->nr);
p=p->urm;
}
}
int main()
{
f>>n>>m;
for(int i=1;i<=m;++i)
{
int x,y;
f>>x>>y;
pune(x,y);
pune(y,x);
}
for(int i=1;i<=n;++i)
if(!v[i])
++nr,df(i);
g<<nr;
return 0;
}