Cod sursa(job #1791617)

Utilizator ceciliamariciucCecilia Mariciuc ceciliamariciuc Data 29 octombrie 2016 15:47:32
Problema Sate Scor 45
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <fstream>
#include <queue>
#define nmax 301
using namespace std;

ifstream fin("sate.in");
ofstream fout("sate.out");

int n,m,a[nmax][nmax],b[nmax][nmax];
int x,y;
int t[nmax],l[nmax];

void BFS(int p,int q)
{queue <int> C;
int v,i;
int viz[nmax]={0};
C.push(p); viz[p]=1;
while(!C.empty()&&viz[q]==0)
   {v=C.front(); C.pop();
    for(i=1;i<=n;i++)
        if(b[v][i]>0&&viz[i]==0)
           {C.push(i); viz[i]=1;
            if(i>v) l[i]=l[v]+b[v][i];
            else l[i]=l[v]-b[v][i];
            t[i]=v;
           }
   }
}

int main()
{int i,x1,x2,v;
fin>>n>>m>>x>>y;
for(i=1;i<=m;i++)
    {fin>>x1>>x2>>v;
     b[x1][x2]=b[x2][x1]=v;
    }
BFS(x,y);
fout<<l[y];
    return 0;
}