Pagini recente » Cod sursa (job #1855565) | Cod sursa (job #2888508) | Cod sursa (job #1592751) | Cod sursa (job #2781573) | Cod sursa (job #2377311)
#include <bits/stdc++.h>
using namespace std;
ifstream fi ("dfs.in");
ofstream fo ("dfs.out");
typedef struct nod {
int info;
nod *next;
} *lista;
int i,j,n,m,x,y, p=0;
bool viz[200001];
lista A[200001];
void add (lista &p, int k)
{
lista r = new nod;
r->info = k;
r->next = p;
p=r;
}
void dfs ( int x)
{
viz[x]=1;
for (lista p=A[x]; p; p=p->next)
if (viz[p->info] == 0) dfs (p->info);
}
int main () {
fi >>n>>m ;
while (m--)
{
fi>>x>>y;
add (A[y],x);
add (A[x],y);
}
for (i=1; i<=n; i++)
{
if (viz[i] == 0)
{
dfs(i);
p++;
}
}
fo<<p;
return 0;
}