Cod sursa(job #2251297)

Utilizator denmirceaBrasoveanu Mircea denmircea Data 1 octombrie 2018 13:14:56
Problema Sate Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <iostream>
#include <fstream>
#include <vector>
#define dim 30001
using namespace std;
ifstream fin ("sate.in");
ofstream fout("sate.out");
vector <pair <int,int> > L[dim];
int x,y,n,m,v[dim],c[dim],nod,p,u,t[dim],i,num,q,r,aux,k,sum[dim];
unsigned short cost[dim][dim];

void bfs (int a)
{
    p=1;
    u=1;
    v[a]=1;
    c[1]=a;
    while(p<=u){
        for(i=0;i<L[c[p]].size();i++)
        {
            nod=L[c[p]][i].first;
            if(v[nod]==0)
            {
                v[nod]=1;
                t[nod]=c[p];
                sum[nod]=sum[c[p]]+L[c[p]][i].second;
                u++;
                c[u]=nod;
            }
        }

p++;
    }
}
int main()
{
  fin>>n>>m>>q>>r;

  for(i=1;i<=m;i++)
  {
      fin>>x>>y>>num;
      L[x].push_back(make_pair(y,num));
      L[y].push_back(make_pair(x,0-num));
      ++k;
  }

  bfs(q);

fout<<sum[r];


}