# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
130423 | 2019-07-15T07:48:41 Z | 이온조(#3149) | Information (CEOI08_information) | C++14 | 547 ms | 59064 KB |
#include <bits/stdc++.h> using namespace std; using pii = pair<int, int>; int N, M, in[2009], ou[2009], t; vector<pii> adj[2009]; set<pii> R[2009]; bool v1[2009], v2[2009]; int h[1000009]; bool isup(int u, int v) { return in[u] <= in[v] && ou[u] >= ou[v]; } void dfs(int x) { in[x] = ++t; v1[x] = 1; for(auto& it: adj[x]) { if(!v1[it.first]) { h[it.second] = 1; dfs(it.first); } } ou[x] = t; } void go(int x) { v2[x] = 1; for(auto& it: adj[x]) { int t, i; tie(t, i) = it; if(!v2[t]) { if(h[i] == 0) { h[i] = 2; go(t); } else if(h[i] == 1 && R[t].size()) { int rt, ri; tie(rt, ri) = *R[t].begin(); R[t].erase(R[t].begin()); h[i] = 2; h[ri] = 1; go(t); } } } } int main() { scanf("%d%d",&N,&M); for(int i=1; i<=M; i++) { int u, v; scanf("%d%d",&u,&v); adj[u].push_back({v, i}); } dfs(1); for(int i=1; i<=N; i++) { for(auto& it: adj[i]) { if(!h[it.second] && !isup(it.first, i)) R[it.first].insert({i, it.second}); } } go(1); vector<int> A1, A2; for(int i=1; i<=N; i++) for(auto& it: adj[i]) { if(h[it.second] == 1) A1.push_back(it.second); if(h[it.second] == 2) A2.push_back(it.second); } if((int)A1.size() != N-1 || (int)A2.size() != N-1) puts("NONE"); else { for(auto& it: A1) printf("%d ",it); puts(""); for(auto& it: A2) printf("%d ",it); } return 0; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 504 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 504 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 504 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 508 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 504 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 504 KB | Output is correct |
2 | Correct | 2 ms | 504 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 508 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 504 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 4 ms | 760 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 5 ms | 888 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 4 ms | 632 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 504 KB | Output is correct |
2 | Correct | 2 ms | 504 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 3 ms | 504 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 3 ms | 504 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 46 ms | 6264 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 74 ms | 7828 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 33 ms | 4180 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 3 ms | 504 KB | Output is correct |
2 | Correct | 2 ms | 504 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 4 ms | 760 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 4 ms | 760 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 547 ms | 59064 KB | Memory limit exceeded (if you are sure your verdict is not MLE, please contact us) |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 341 ms | 34424 KB | Memory limit exceeded (if you are sure your verdict is not MLE, please contact us) |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 358 ms | 35960 KB | Memory limit exceeded (if you are sure your verdict is not MLE, please contact us) |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 4 ms | 632 KB | Output is correct |
2 | Correct | 4 ms | 504 KB | Output is correct |