Cod sursa(job #414142)

Utilizator georgelRector George georgel Data 9 martie 2010 19:20:28
Problema Sate Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.92 kb
#include<fstream>
#define Max 20000

using namespace std;
long long a[Max][Max],b[Max],c[Max],m,n,x,y,pus[Max];
ofstream fout("sate.out");

void read()
{
     int i,d,p,q;
     ifstream fin("sate.in");
     fin>>n>>m>>x>>y;
     for(i = 1; i <= m; i++)
     {
           fin>>p>>q>>d;
           a[p][q] = d;
           a[q][p] = -d;
     }
fin.close();
}
void bf(int x)
{
     int st,dr,i;
     st = 1;
     dr = 1;
     pus[x] = 1;
     b[st] = x;
     while(st <= dr || pus[y] == 0)
     {
              for(i = 1; i <= n; i++)
              if(a[b[st]][i] != 0 && !pus[i])
              {
                             dr++;
                             b[dr] = i;
                             c[dr] = c[st]+a[b[st]][i];
                             pus[i] = 1;
              }
     st++;
     }
     fout<<c[dr]<<" ";
}
int main()
{
    read();
    bf(x);

fout.close();

return 0;
}