Cod sursa(job #553827)

Utilizator drag0s93Mandu Dragos drag0s93 Data 14 martie 2011 12:47:56
Problema Sate Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include<stdio.h>
#include<vector>
using namespace std;
#define N 30001

bool bol[N];
int n,m,x,y;
vector<vector<pair<int, int> > >a;

void bfs(int x,int d)
{
     if(x==y)
     {
         printf("%d",d);
         return;
     }
     
     for(int i=0;i<a[x].size();++i)
          if(!bol[a[x][i].first])
          {
              bol[a[x][i].first]=true;
              bfs(a[x][i].first,d+a[x][i].second);
          }
}

int main()
{
	//dragos mandu asdasdasdasdasdasdasdasdasdasdad
	freopen("sate.in","r",stdin);
	freopen("sate.out","w",stdout);
	int z,b,d;
	scanf("%d%d%d%d",&n,&m,&x,&y);
	a.resize(n+1);
	for(int i=1;i<=m;++i)
	{
		scanf("%d%d%d",&z,&b,&d);
		a[z].push_back(make_pair(b,d));
		a[b].push_back(make_pair(z,-d));
	}
	bfs(x,0);
	return 0;
}