Pagini recente » Cod sursa (job #3157856) | Cod sursa (job #1482456) | Monitorul de evaluare | Cod sursa (job #2590131) | Cod sursa (job #739714)
Cod sursa(job #739714)
#include <fstream>
#include <vector>
#include <queue>
#include <algorithm>
using namespace std;
int n,m,x,y,mx,vl;
short cst[250100];
vector< pair<int,short> > A[250100];
queue<int> Q;
int main()
{
ifstream in("pscnv.in");
ofstream out("pscnv.out");
int x1,y1,c;
in>>n>>m>>x>>y;
for(int i=1;i<=m;++i)
{
in>>x1>>y1>>c;
cst[x1]=cst[y1]=2000;
if(mx<c)
{
mx=c;
}
A[x1].push_back(make_pair(y1,c));
//A[y1].push_back(make_pair(x1,c));
}
Q.push(x);
cst[x]=0;
for(;!Q.empty();Q.pop())
{
int ret=Q.front();
for(vector< pair<int,short> >::iterator it=A[ret].begin();it!=A[ret].end();++it)
{
if(cst[it->first]>max(cst[ret],it->second))
{
cst[it->first]=max(cst[ret],it->second);
Q.push(it->first);
}
}
}
out<<cst[y]<<'\n';
out.close();
return 0;
}