Cod sursa(job #1126142)

Utilizator ilaumariusIlau Marius Constantin ilaumarius Data 26 februarie 2014 21:30:53
Problema Parcurgere DFS - componente conexe Scor 5
Compilator cpp Status done
Runda Arhiva educationala Marime 0.82 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("dfs.in");
ofstream out("dfs.out");
int a[1000][1000];
int viz[1000];
int i,n,p1,j,m,x,y,k,gasit;
void parc_DFS(int p1)
{
    int j;
    //out<<p1<<' ';
    viz[p1]=1;
    for(j=1;j<=n;j++)
        if((a[p1][j]==1)&&viz[j]==0)
            parc_DFS(j);
}
int main()
{
    in>>n>>m;
    for(i=1;i<=m;i++)
    {
        in>>x>>y;
        a[x][y]=1;
        a[y][x]=1;
    }
    for(i=1;i<=n;i++) viz[i]=0;
    gasit=1; k=1;
    while(gasit)
    {
        gasit=0;
        for(i=1;i<=n;i++)
            if(viz[i]==0)
                {
                    parc_DFS(i);
                    //out<<endl;
                    gasit=1;
                }
        k++;
    }
    out<<k;
    in.close();
    out.close();
    return 0;
}