Pagini recente » Cod sursa (job #2364436) | Cod sursa (job #2161166) | Cod sursa (job #2396322) | Cod sursa (job #2386630) | Cod sursa (job #1739895)
#include <iostream>
#include<fstream>
#include<vector>
#include<bitset>
using namespace std;
const int nmax=250005;
vector<pair <int,int > > v[nmax],a[5005];
bitset<nmax> viz;
int n,m,x,y,node1,node2,k,mn,i,j;
int main()
{
ifstream f("pscnv.in");
ofstream g("pscnv.out");
f>>n>>m>>x>>y;
for(i=1;i<=m;i++)
{
f>>node1>>node2>>k;
v[node1].push_back(make_pair(node2,k));
a[k].push_back(make_pair(node1,node2));
}
viz[x]=1;
for(i=1;i<=5000&&viz[y]==0;i++)
for(j=0;j<a[i].size()&&viz[y]==0;j++)
{
node1=a[i][j].first;
node2=a[i][j].second;
if(viz[node1]&&viz[node2]==0)
{
viz[node2]=1;
for(k=0;k<v[node2].size();k++)
{
if(v[node2][k].second<=i)
a[i].push_back(make_pair(node2,v[node2][k].first));
}
}
if(viz[y]) mn=i;
}
g<<mn;
return 0;
}