Pagini recente » Cod sursa (job #2959996) | Cod sursa (job #2679869) | Cod sursa (job #2956464) | Cod sursa (job #2131698) | Cod sursa (job #488137)
Cod sursa(job #488137)
#include <cstdio>
#include <vector>
#include <deque>
#define pb push_back
using namespace std;
vector <int> v[100003];
deque <int> d;
int ok[100003];
void df(int k)
{
d.pb(k);
while (!d.empty())
{
k=d.front();d.pop_front();
while (!v[k].empty())
{
if (!ok[v[k].back()])
ok[v[k].back()]=1,d.pb(v[k].back());
v[k].pop_back();
}
}
}
int main()
{
int n,m,i,a,b;
freopen("dfs.in","r",stdin);
freopen("dfs.out","w",stdout);
scanf("%d %d",&n,&m);
for (i=1;i<=m;++i)
{
scanf("%d %d",&a,&b);
v[a].pb(b);v[b].pb(a);
}
for (i=1,m=0;i<=n;++i)
if (!ok[i])
ok[i]=1,++m,df(i);
printf("%d",m);
return 0;
}