Cod sursa(job #2524818)

Utilizator Botzki17Botocan Cristian-Alexandru Botzki17 Data 16 ianuarie 2020 13:06:00
Problema Sate Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.08 kb
#include <fstream>
#include <queue>
#include <vector>

using namespace std;
ifstream fin("sate.in");
ofstream fout("sate.out");
const int NMAX = 30000;
long long viz[NMAX+5];
struct muchie
{
   int nod, cost;
};
vector <muchie> G[NMAX+5];
queue <int>q;
void bfs(int nod)
{
   q.push(nod);
   muchie aux;
   viz[nod] =0;
   while(!q.empty())
   {
      nod = q.front();
      q.pop();
      for(int i =0; i<G[nod].size();i++)
      {
         aux = G[nod][i];
         if(viz[aux.nod] == -1)
         {
            viz[aux.nod] = viz[nod] + aux.cost;
            q.push(aux.nod);

         }
      }
   }
}
int main()
{
    ios::sync_with_stdio(0);
    fin.tie(0);
   int n, m, x, y, c, start, finish, val, i;
   muchie aux;
   fin>>n>>m>>start>>finish;
   for(i =1;i<=n;i++)
     viz[i] = -1;
   for(i=1;i<=m;i++)
   {
      fin>>x>>y>>c;
      aux.nod = y;
      aux.cost = c;
      G[x].push_back(aux);
      aux.nod = x;
      aux.cost = -c;
      G[y].push_back(aux);
   }
   bfs(start);
   fout<<viz[finish]<<"\n";



    return 0;
}