Cod sursa(job #804830)

Utilizator IoanaMarMarussi Ioana IoanaMar Data 30 octombrie 2012 15:38:02
Problema Parcurgere DFS - componente conexe Scor 5
Compilator cpp Status done
Runda Arhiva educationala Marime 0.81 kb
#include <fstream>
#include <string.h>
using namespace std;

ifstream f("dfs.in");
ofstream g("dfs.out");
struct point{
        int inf;
        point *leg;
};
point *l[100000],*p;
bool sel[100000];
int n,m,x,y,i,nr;

void dfs (int x)
{
point *poz;
sel[x]=true;
//poz=new point;
poz=l[x];
    while (poz)
    {
        if (!sel[poz->inf])
            dfs(poz->inf);
        poz=poz->leg;
    }
}

int main()
{
   point *prim;
   memset(l,NULL,sizeof(l));
//   prim=new point;
   f>>n>>m;
   for(i=1;i<=m;i++)
   {
       p=new point;
       p->inf=y;
       p->leg=l[x];
       l[x]=p;
       p=new point;
       p->inf=x;
       p->leg=l[y];
       l[y]=p;

   }
   for(i=1; i<=n; i++)
    if(!sel[i])
    {
        dfs(i);
        nr++;
    }
    g<<nr<<"\n";
    return 0;
}