# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
611745 | 2022-07-29T07:05:15 Z | 반딧불(#8497) | Tenis (COI19_tenis) | C++17 | 154 ms | 21916 KB |
#include <bits/stdc++.h> using namespace std; typedef long long ll; int n, q, k; int a[100002], b[100002], c[100002]; vector<int> link[100002], revLink[100002]; int sccNum[100002]; stack<int> sccStk; bool visited[100002]; vector<int> sccLink[100002]; int inDeg[100002]; bool ans[100002]; void sccDfs1(int x){ visited[x] = 1; for(auto y: link[x]){ if(visited[y]) continue; sccDfs1(y); } sccStk.push(x); } void sccDfs2(int x, int g){ visited[x] = 0; sccNum[x] = g; for(auto y: revLink[x]){ if(!visited[y]) continue; sccDfs2(y, g); } } int main(){ scanf("%d %d", &n, &q); for(int i=1; i<=n; i++) scanf("%d", &a[i]); for(int i=1; i<=n; i++) scanf("%d", &b[i]); for(int i=1; i<=n; i++) scanf("%d", &c[i]); for(int i=1; i<n; i++){ link[a[i]].push_back(a[i+1]); link[b[i]].push_back(b[i+1]); link[c[i]].push_back(c[i+1]); } for(int i=1; i<=n; i++) for(auto x: link[i]) revLink[x].push_back(i); for(int i=1; i<=n; i++){ if(!visited[i]) sccDfs1(i); } while(!sccStk.empty()){ int x = sccStk.top(); sccStk.pop(); if(!visited[x]) continue; sccDfs2(x, ++k); } for(int i=1; i<=n; i++){ for(auto j: link[i]){ if(sccNum[i] == sccNum[j]) continue; sccLink[sccNum[i]].push_back(sccNum[j]); inDeg[sccNum[j]]++; } } vector<int> vec; for(int i=1; i<=k; i++){ if(!inDeg[i]) vec.push_back(i); } if((int)vec.size() == 1){ for(int i=1; i<=n; i++) if(!inDeg[sccNum[i]]) ans[i] = 1; } while(q--){ int x, y; scanf("%d %d", &x, &y); printf("%s\n", ans[y] ? "DA" : "NE"); } }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 4 ms | 7252 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 4 ms | 7252 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 4 ms | 7252 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 146 ms | 16852 KB | Output is correct |
2 | Correct | 121 ms | 20456 KB | Output is correct |
3 | Correct | 150 ms | 20368 KB | Output is correct |
4 | Correct | 149 ms | 21916 KB | Output is correct |
5 | Correct | 151 ms | 19624 KB | Output is correct |
6 | Correct | 119 ms | 20992 KB | Output is correct |
7 | Correct | 125 ms | 19400 KB | Output is correct |
8 | Correct | 152 ms | 21320 KB | Output is correct |
9 | Correct | 154 ms | 20420 KB | Output is correct |
10 | Correct | 149 ms | 20008 KB | Output is correct |
11 | Correct | 130 ms | 19552 KB | Output is correct |
12 | Correct | 131 ms | 20608 KB | Output is correct |
13 | Correct | 143 ms | 20144 KB | Output is correct |
14 | Correct | 151 ms | 20480 KB | Output is correct |
15 | Correct | 132 ms | 20824 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 4 ms | 7252 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |