Cod sursa(job #1877898)

Utilizator pitradaPit-Rada Ionel-Vasile pitrada Data 13 februarie 2017 19:28:33
Problema Diametrul unui arbore Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 1.01 kb
#include<fstream>
using namespace std;
ifstream fin("darb.in");
ofstream fout("darb.out");
char a[8001][8001];
int n,x,y,i,j,viz[8001],c;

void DFSA(int n,char a[8001][8001],int vfstart,int &kmax,int viz[])
{
    int stiva[101],k,i;
    viz[vfstart]=1;
    stiva[1]=vfstart;
    k=1;
    while(k>0)
    {
        for(i=1;i<=n;i++)
        {
            if(viz[i]==0&&a[stiva[k]][i]==1)
            {
                break;
            }
        }
        if(i<=n)
        {
            viz[i]=1;
            k++;
            stiva[k]=i;
        }
        else
        {
            k--;
        }
        if(k>=kmax)
        {
            kmax=k;
        }

    }

}
int main()
{
    fin>>n;
    while(fin>>x>>y)
    {
        a[x][y]=1;
        a[y][x]=1;
    }
    c=0;
    for(i=1;i<=n;i++)
    {
        for(j=1;j<=n;j++)
        {
            viz[j]=0;
        }
        DFSA(n,a,i,c,viz);
    }
    fout<<c;
    fin.close();
    fout.close();
    return 0;


}