Pagini recente » Cod sursa (job #206298) | Cod sursa (job #776648) | Cod sursa (job #2520499) | Cod sursa (job #2555309) | Cod sursa (job #792067)
Cod sursa(job #792067)
#include<cstdio>
#include<vector>
#include<queue>
#include<algorithm>
#define dim 250001
#define inf 0x3f3f3f
using namespace std;
int n,m,inc,fin;
struct nod
{
int y,cost;
};
vector< vector< nod > > mat(dim);
vector<int> kmin(dim,inf);
inline void citire()
{
freopen("pscnv.in","r",stdin);
scanf("%d%d%d%d",&n,&m,&inc,&fin);
for(;m;--m)
{
int x,y,c;
scanf("%d%d%d",&x,&y,&c);
mat[x].push_back( (nod) {y,c} );
}
}
inline void rezolva()
{
queue<int> q;
q.push(inc);
kmin[inc]=0;
while( ! q.empty() )
{
int x=q.front();
for(int i=0;i<mat[x].size();++i)
if( kmin[ mat[x][i].y ] > max( kmin[x], mat[x][i].cost ) )
{
kmin[ mat[x][i].y ] = max( kmin[x], mat[x][i].cost );
q.push( mat[x][i].y );
}
q.pop();
}
}
inline void afisare()
{
freopen("pscnv.out","w",stdout);
printf("%d ",kmin[fin]);
}
int main()
{
citire();
rezolva();
afisare();
}