Cod sursa(job #1520401)

Utilizator vladu97Stoian Vlad vladu97 Data 8 noiembrie 2015 17:59:09
Problema Sate Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include<fstream>
#include<queue>
#include<vector>
#include<bitset>
using namespace std; 

#define dim 30005

int n, m, x, y, a, b, c, dist;
vector <int> v[dim];
vector <int> d[dim];
queue <int> q;
int l[dim];
bitset <dim> viz;

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

int main(){
	fin>>n>>m>>x>>y;
	for(int i=1; i<=m; i++){
		fin>>a>>b>>dist;
		v[a].push_back(b);
		v[b].push_back(a);
		d[a].push_back(dist);
		d[b].push_back(-dist);
	}
	q.push(x);
	viz[x]=true;
	while(q.size()){
	c=q.front();
	q.pop();
	for(int i=0;i<v[c].size();++i){
        int k=v[c][i];
        if(!viz[k]){
        	viz[k]=true;
        	l[k]=l[c]+d[c][i];
        	q.push(k);
			}
	}
	if(c==y) q.empty();
	}
	
	
	
fout<<l[y];
	
	
}