제출 #1231087

#제출 시각아이디문제언어결과실행 시간메모리
1231087ThommyDBDrivers (BOI24_drivers)C++20
0 / 100
0 ms324 KiB
#include<bits/stdc++.h> using namespace std; #define int long long const int INF = 1e16; int n, m, u; vector<vector<pair<int, int>>> adj; signed main(){ cin >> n >> m >> u; adj.resize(n); for(int i = 0; i < m; i++){ int a, b, t; cin >> a >> b >> t; a--; b--; adj[a].push_back({b, t}); adj[b].push_back({a, t}); } vector<vector<int>> ans(n, vector<int>(n, INF)); vector<bool> visited(n, false); for(int i = 0; i < n; i++){ priority_queue<pair<int, int>> q; q.push({0, i}); ans[i][i]=0; while(!q.empty()){ int x = q.top().second; q.pop(); if(visited[x])continue; visited[x]=true; for(auto u : adj[x]){ if(max(ans[i][x], u.second) < ans[i][u.first]){ ans[i][u.first] = max(ans[i][x], u.second); ans[u.first][i]=ans[i][u.first]; q.push({-ans[i][u.first], u.first}); } } } } for(int o = 0; o < u; o++){ int a, b, p; cin >> a >> b >> p; a--; b--; if(ans[a][b] <= p){ cout << "TAIP\n"; } else{ cout << "NE\n"; } } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...