Cod sursa(job #1701969)

Utilizator ASTELOTudor Enescu ASTELO Data 14 mai 2016 13:21:42
Problema Sate Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include<cstdio>
#include<vector>
using namespace std;
vector<int> v[100001],vec[100001];
int x,y,pp,vc[100001],i,j,n,m,k,l,in=1,sf=1,coada[100001];
void bfs(int nod)
	{
	if(vc[y]!=0)
		pp=1;
	for(int i=0;i<v[nod].size();i++)
		if(vc[v[nod][i]]==0)
			{
			coada[++sf]=v[nod][i];
			vc[v[nod][i]]=vc[nod]+vec[nod][i];
			}
	in++;
	if(vc[y]==0)
		bfs(coada[in]);
	}
int main ()
{
freopen("sate.in","r",stdin);
freopen("sate.out","w",stdout);
scanf("%d%d%d%d",&n,&m,&x,&y);
for(i=1;i<=m;i++)
	{
	int q,qq,qqq;
    scanf("%d%d%d",&q,&qq,&qqq);
    v[q].push_back(qq);
    v[qq].push_back(q);
    vec[q].push_back(qqq);
    vec[qq].push_back(-qqq);
	}
coada[1]=x;
bfs(x);
printf("%d",vc[y]);
return 0;
}