Cod sursa(job #906585)

Utilizator crudu_denisDenis Crudu crudu_denis Data 6 martie 2013 22:05:34
Problema Sate Scor 45
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include<fstream>
using namespace std;
int n,m,x,y,a[2000][2000],sol[2000],d[2000];
void citire()
{
    ifstream fin("sate.in");
    fin>>n>>m>>x>>y;
    int c1,c2,c3;
    for(;m;m--)
     {
         fin>>c1>>c2>>c3;
         a[c1][c2]=a[c2][c1]=c3;
     }


}
void bfs(int x)
{
    sol[1]=x;
    d[x]=0;
   int dr=1;
  for(int i=1;i<=dr;i++)
       for(int j=1;j<=n;j++)

           if(a[sol[i]][j]!=0&&!d[j])
           {
               sol[++dr]=j;
               if(sol[i]<j)
                    d[j]=d[sol[i]]+a[sol[i]][j];
               else
                    d[j]=d[sol[i]]-a[sol[i]][j];
           }

}
void afisare()
{
    ofstream fout("sate.out");
    fout<<d[y];

}
int main()
{

    citire();
    bfs(x);
    afisare();
    return 0;
}