Submission #880549

#TimeUsernameProblemLanguageResultExecution timeMemory
880549tsumondaiAutobus (COCI22_autobus)C++14
0 / 70
6 ms23900 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define fi first #define se second #define pb push_back #define mp make_pair #define foru(i, l, r) for(int i = l; i <= r; i++) #define ford(i, r, l) for(int i = r; i >= l; i--) #define __TIME (1.0 * clock() / CLOCKS_PER_SEC) typedef pair<int, int> ii; typedef pair<ii, int> iii; typedef pair<ii, ii> iiii; const int N = 1e6 + 5; const int oo = 1e9, mod = 1e9 + 7; int n, m, k, q, c[75][75], visited[71]; string s; vector<ii> adj[N]; // precalc void process() { memset(c, 0x3f, sizeof(c)); cin >> n >> m; foru(i,1,m) { int u, v, t; cin >> u >> v >> t; c[u][v]=min(c[u][v], t); } cin >> k >> q; k=min(k,n); auto sol=c; while (k--) { auto newsol=sol; foru(x,1,n) { foru(y,1,n) { foru(z,1,n) { newsol[x][y]=min(newsol[x][y], sol[x][z]+c[z][y]); } } } sol=newsol; } while (q--) { int s, t; cin >> s >> t; if (s==t) { cout << 0 << '\n'; continue; } if (sol[s][t]>=oo) cout << -1 << '\n'; else cout << sol[s][t] << '\n'; } return; } signed main() { cin.tie(0)->sync_with_stdio(false); //freopen(".inp", "r", stdin); //freopen(".out", "w", stdout); process(); cerr << "Time elapsed: " << __TIME << " s.\n"; return 0; } /* Xét các trường hợp đặc biệt Kiểm tra lại input/output Cố gắng trâu Lật ngược bài toán Keep calm and get VOI Flow: */
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...