Submission #1087890

#TimeUsernameProblemLanguageResultExecution timeMemory
1087890whtthAutobus (COCI22_autobus)C++14
70 / 70
100 ms9556 KiB
#include<bits/stdc++.h> using namespace std; long long n, m, road[71][71], mi[71][71][71], inf=1e12; int main(){ ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); //freopen("autobus.inp", "r", stdin); //freopen("autobus.out", "w", stdout); cin>>n>>m; for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ if(i==j)road[i][j]=0; else { road[i][j]=inf; } mi[i][j][0]=road[i][j]; } } for(int o=1;o<=m;o++){ long long a, b, v; cin>>a>>b>>v; road[a][b]=min(road[a][b], v); mi[a][b][1]=road[a][b]; } for(int k=1;k<n;k++){///toi da di dc n-1 thanh pho for(int i=1;i<=n;i++){///thanh pho di for(int j=1;j<=n;j++){///thanh pho den mi[i][j][k]=mi[i][j][k-1]; for(int h=1;h<=n;h++)mi[i][j][k]=min(mi[i][j][k], mi[i][h][k-1]+road[h][j]);///i->j or i->h->j } } } long long k, q; cin>>k>>q; k=min(k, n-1); for(int i=1;i<=q;i++){ long long a, b; cin>>a>>b; if(mi[a][b][k]<inf)cout<<mi[a][b][k]<<"\n"; else cout<<"-1\n"; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...