Pagini recente » Cod sursa (job #2719797) | Cod sursa (job #1042809) | Cod sursa (job #1426618) | Cod sursa (job #45326) | Cod sursa (job #397998)
Cod sursa(job #397998)
#include <fstream>
#include <vector>
using namespace std;
#define N 100001
int viz[N],n,m;
struct nod
{
int info;
nod *urm;
}*l[N],*p;
void dfs( int k)
{
nod *pi;
viz[k]=1;
for (pi=l[k];pi!=NULL;pi=pi->urm)
{
if (viz[pi->info]==0) dfs(pi->info);
}
}
int main()
{
int i,x,y,c=0;
ifstream fin ("dfs.in");
ofstream fout ("dfs.out");
fin>>n>>m;
for (i=1;i<=m;i++)
{
p = new nod;
fin>>x>>y;
p->info=y;
p->urm=l[x];
l[x]=p;
p = new nod;
p->info=x;
p->urm=l[y];
l[y]=p;
}
for (x=1;x<=n;x++)
{
if (viz[x]==0)
{
dfs(x);
c++;
}
}
fout<<c;
}