# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
244447 | 2020-07-04T06:07:14 Z | SomeoneUnknown | Potemkin cycle (CEOI15_indcyc) | C++14 | 43 ms | 1280 KB |
#include <bits/stdc++.h> using namespace std; vector<int> adjlist[1001]; bool isadj(int a, int b){ int lo = -1; int hi = adjlist[a].size(); while(hi-lo > 1){ int mid = (hi+lo)/2; if(adjlist[a][mid] == b) return true; if(adjlist[a][mid] < b){ lo = mid; }else{ hi = mid; } } return false; } int main(){ int n, r; scanf("%d %d", &n, &r); int ved[n+1]; for(int i = 1; i <= n; ++i) ved[i] = 0; //unvisited for(int i = 0; i < r; ++i){ int a, b; scanf("%d %d", &a, &b); adjlist[a].push_back(b); adjlist[b].push_back(a); } for(int i = 1; i <= n; ++i){ sort(adjlist[i].begin(), adjlist[i].end()); } for(int i = 1; i <= n; ++i){ if(ved[i] != 0) continue; ved[i] = -1; //root queue<int> tovisit; tovisit.push(i); while(!tovisit.empty()){ int ving = tovisit.front(); //printf("ving = %d\n", ving); tovisit.pop(); for(int j = 0; j < adjlist[ving].size(); ++j){ int nghbr = adjlist[ving][j]; if(ved[nghbr] == 0){ ved[nghbr] = ving; tovisit.push(nghbr); }else if(ved[ving] != nghbr && !isadj(ved[nghbr], ving)){ stack<int> s; queue<int> e; //s.push(ving); //e.push(nghbr); int last; int sptr = ving; int eptr = nghbr; while(sptr != eptr){ e.push(eptr); //printf("e: %d\n", eptr); last = eptr; eptr = ved[eptr]; if(sptr == eptr) break; s.push(sptr); //printf("s: %d\n", sptr); sptr = ved[sptr]; } //return 5; //doesnt reach bool djoint = true; for(int k = 0; k < adjlist[s.top()].size(); k++){ if(adjlist[s.top()][k] == last) djoint = false; } if(djoint) printf("%d ", sptr); while(!s.empty()){ printf("%d ", s.top()); s.pop(); } while(!e.empty()){ printf("%d ", e.front()); e.pop(); } return 0; } } } } printf("no"); } /* 5 5 1 2 2 3 2 4 3 5 4 5 */
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 4 ms | 384 KB | Output is correct |
2 | Correct | 4 ms | 384 KB | Output is correct |
3 | Correct | 4 ms | 384 KB | Output is correct |
4 | Correct | 5 ms | 384 KB | Output is correct |
5 | Correct | 5 ms | 384 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 4 ms | 384 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Runtime error | 5 ms | 512 KB | Execution killed with signal 11 (could be triggered by violating memory limits) |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 5 ms | 384 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 5 ms | 384 KB | Integer 0 violates the range [1, 100] |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 5 ms | 384 KB | Wrong answer on graph without induced cycle |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 6 ms | 384 KB | Integer 0 violates the range [1, 300] |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 21 ms | 896 KB | Integer 0 violates the range [1, 1000] |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 12 ms | 640 KB | Integer 0 violates the range [1, 1000] |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 43 ms | 1280 KB | Expected integer, but "no" found |
2 | Halted | 0 ms | 0 KB | - |