#include #include #include using namespace std; #define Nmax 50 #define Vmax 1500 #define Cmax 300 #define Mmax 1000 #define Vmax 1500 #define INIDATE (Mmax*Vmax) typedef struct S{ int Y; int M; int T; } ROAD; int main() { int N,C,V; int S[Vmax]; int T[Vmax]; int Y[Vmax]; int M[Vmax]; vector road[Nmax+1]; int mapdate[Nmax+1][Cmax+1]; queue quec,quen; cin>>N; cin>>C; cin>>V; for(int i=0;i>S[i]; } for(int i=0;i>T[i]; } for(int i=0;i>Y[i]; } for(int i=0;i>M[i]; } for(int i=0;i=0&&mapdate[road[n][i].T][nc]>nm){ mapdate[road[n][i].T][nc]=nm; quen.push(road[n][i].T); quec.push(nc); } } } int ans=INIDATE; for(int i=0;i<=C;i++){ if(ans>mapdate[N][i]) ans=mapdate[N][i]; } if(ans==INIDATE) cout<<"-1"<