Cod sursa(job #2257152)

Utilizator LorenaMariaHantig Lorena LorenaMaria Data 9 octombrie 2018 18:49:03
Problema Sate Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <fstream>
#include <queue>
using namespace std;
ifstream in("sate.in");
ofstream out("sate.out");
int n,m,x,y,s1,s2,l,k,a[3001][3001];
bool ok[30001];
queue <int> q;
int main()
{ in>>n>>m>>x>>y;
  for(int i=1;i<=m;i++)
  { in>>s1>>s2;
    in>>a[s1][s2];
    a[s2][s1]=a[s1][s2];
  }
  q.push(x);
  ok[x]=1;
  while(!q.empty())
  { k=q.front();
    if(k==y)
    { out<<l;
      in.close();
      out.close();
      return 0;
    }
    for(int i=1;i<=n;i++)
      if(a[k][i] && !ok[i])
      { q.push(i);
        ok[i]=1;
        if(k<i)
           l+=a[k][i];
        else
           l-=a[k][i];
      }
    q.pop();
  }
  out<<l;
  in.close();
  out.close();
  return 0;
}