Cod sursa(job #154305)

Utilizator georgepalPal George Catalin georgepal Data 11 martie 2008 09:11:54
Problema Parcurgere DFS - componente conexe Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.79 kb
#include<fstream.h>   
ifstream f("dfs.in");   
ofstream g("dfs.out");   
int a[2000][2000],viz[2000],m,n,ct;   
void citire_graf()   
    {   
    int x,y,i;   
    f>>n>>m;   
    for(i=1;i<=n;i++)   
        {f>>x>>y;   
        a[x][y]=a[y][x]=1;   
        }   
    f.close();   
    }   
void DF(int v)   
    {viz[v]=1;   
    for(int i=1;i<=n;i++)   
        if(a[v][i]==1 &&!viz[i])   
                DF(i);   
    }   
int primul0()   
    {   
    for(int i=1;i<=n;i++)   
          if(!viz[i])   
                return i;   
    return 0;   
    }   
int main()   
    {   
    int v;   
    citire_graf();   
    do{   
        v=primul0();   
        if(v)   {ct++;DF(v);   
                    }   
        }   
    while(v);   
g<<ct;   
return 0;}