Cod sursa(job #671550)

Utilizator hiticas_abelhiticasabel hiticas_abel Data 31 ianuarie 2012 17:34:43
Problema Sate Scor 45
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.16 kb
#include<fstream>
#include <iostream>
using namespace std;
int viz[400001],n,m,x,y,c[400001],k;

int cost[20000][20000],dist,final;
int vector_cost[400001];


 ofstream g("sate.out");
void citire()
{
     ifstream f("sate.in");
     int x,y,i;
     f>>n>>m>>k>>final;
     int l;
     for(l=1;l<=m;l++)
      {
          f>>x>>y>>dist;
          cost[x][y]=dist;
          cost[y][x]=-dist;
   
        
          }

          f.close();
}
       
void bfs(int k)
{
int li,ls,i;
 li=1;
 ls=1;
 c[li]=k;
 viz[k]=1;
  
               
while (li<=ls)
{k=c[li];
 for(i=1;i<=n;i++)
 if (viz[i]==0 && cost[k][i]!=0)
  {ls++;  
   c[ls]=i;
   viz[i]=1;
   vector_cost[i]=vector_cost[k]+cost[k][i];
   }
                  li++;
                  }
                
                  } 
              
              
                 
                 
       int main()
       {int i;
          
           citire();
           bfs(k);
           
       g<<vector_cost[final];
                         
                        
                         g.close();
                         return 0;
                         }