Cod sursa(job #7223)

Utilizator bughyBondane Bogdan bughy Data 21 ianuarie 2007 13:08:39
Problema Radiatie Scor 0
Compilator cpp Status done
Runda preONI 2007, Runda 1, Clasele 11-12 Marime 1.1 kb
#include <stdio.h>

#define input "radiatie.in"
#define output "radiatie.out"
#define dimmax 1001
#define infinit 0

long n,m,k,a[dimmax][dimmax],aux[dimmax],minmax=infinit,rez,st,sf;

void df(long nod);

int main()
{
    freopen(input,"r",stdin);
    freopen(output,"w",stdout);
    long i,j,x,y,z;
    scanf("%ld%ld%ld",&n,&m,&k);
    for(i=1;i<=m;i++)
    {
        scanf("%ld%ld%ld",&x,&y,&z);
        a[x][y]=a[y][x]=z;
    }
    for(i=1;i<=k;i++)
    {
        scanf("%ld%ld",&x,&y);
        minmax=infinit;
        st=x;
        sf=y;
        rez=1000000001;
        df(x);
        printf("%ld\n",rez);
    }        
    
    return 0;
}    

void df(long nod)
{
    aux[nod]=1;
    if(nod!=sf)
    {
    for(int i=1;i<=n;i++)
       if(aux[i]==0&&a[nod][i]!=0)
       {
         if(a[nod][i]>minmax)
         {
             long auxiliar=minmax;
             minmax=a[nod][i];
             df(i);
             minmax=auxiliar;
         }
         else
             df(i);
       }
    }
    else
      if(minmax<rez)
       rez=minmax;    
    aux[nod]=0;
}