Cod sursa(job #1810646)

Utilizator vladisimovlad coneschi vladisimo Data 20 noiembrie 2016 13:26:08
Problema Sate Scor 45
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <fstream>
using namespace std;
ifstream fin("sate.in");
ofstream fout("sate.out");
int c[30001],dist[30001],n,m,r,p,u,e,x;
int a[10001][10001];
bool v[30001];
void latime(int r){
    int i,k;
    p=1;
    u=1;
    c[u]=r;
    dist[r]=0;
    v[r]=1;
    while(p<=u){
        k=c[p];
        for(i=1;i<=n;i++)
            if(a[k][i]!=0&&v[i]==0){
                u++;
                c[u]=i;
                dist[i]=dist[k]+a[k][i];
                v[i]=1;
            }
        p++;
    }
}
int main()
{
    fin>>n>>m>>r>>e;
    int k,i,j;
    for(k=1;k<=m;k++){
        fin>>i>>j>>x;
        if(i<j){
        a[i][j]=x;
        a[j][i]=-x;
        }
        else{
        a[i][j]=-x;
        a[j][i]=x;
        }

    }
    latime(r);
    fout<<dist[e];
    return 0;
}