제출 #106307

#제출 시각아이디문제언어결과실행 시간메모리
106307xiaowuc1Tales of seafaring (POI13_mor)C++14
60 / 100
1914 ms25316 KiB
#include <algorithm> #include <cassert> #include <cstring> #include <iomanip> #include <iostream> #include <map> #include <queue> #include <random> #include <set> #include <vector> using namespace std; typedef long long ll; typedef pair<int, int> pii; typedef pair<int, pii> pipii; typedef pair<ll, int> plli; typedef vector<vector<ll>> matrix; vector<int> edges[5000]; vector<pipii> queries[5000]; // <index, <other, time>> int dp[5000][2]; bool ret[1000000]; int n; const int INF = 1000000001; void init() { for(int s = 0; s < n; s++) { for(int t = 0; t < n; t++) { dp[t][0] = INF; dp[t][1] = INF; } dp[s][0] = 0; queue<int> q; q.push(s); while(!q.empty()) { int curr = q.front(); q.pop(); for(int out: edges[curr]) { if(dp[out][1] > dp[curr][0] + 1) { dp[out][1] = dp[curr][0] + 1; q.push(out); } if(dp[out][0] > dp[curr][1] + 1) { dp[out][0] = dp[curr][1] + 1; q.push(out); } } } for(pipii out: queries[s]) { ret[out.first] = dp[out.second.first][out.second.second%2] <= out.second.second; } } } void solve() { int m, q; cin >> n >> m >> q; while(m--) { int a, b; cin >> a >> b; a--; b--; edges[a].push_back(b); edges[b].push_back(a); } for(int i = 0; i < q; i++) { int a, b, w; cin >> a >> b >> w; a--; b--; queries[a].push_back({i, {b, w}}); } init(); for(int i = 0; i < q; i++) cout << (ret[i] ? "TAK\n" : "NIE\n"); } int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); /* int t; cin >> t; for(int i = 1; i <= t; i++) { cout << "Case #" << i << ": "; solve(); } */ solve(); }
#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...
#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...