# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
244504 | tqbfjotld | Potemkin cycle (CEOI15_indcyc) | C++14 | 1096 ms | 1280 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
int n,e;
vector<int> adjl[1005];
vector<int> cur;
int curpos[1005];
bool visited[1005];
int dfs(int node, int parent){
visited[node] = true;
//printf("%d %d\n",node+1,curpos[node]);
int k= -1;
for (auto x : adjl[node]){
if (x==parent) continue;
k = max(k,curpos[x]);
}
//printf("k: %d\n",k);
if (k!=-1 && curpos[node]-k<3){
return -1;
}
else if (k!=-1){
cur.push_back(node);
return k;
}
else{
for (auto x : adjl[node]){
if (x==parent) continue;
curpos[x] = curpos[node]+1;
//printf("set %d\n",1+x);
int res = dfs(x,node);
//printf("received %d\n",res);
if (res>0){
cur.push_back(node);
return res==curpos[node]?-2:res;
}
if (res==-2) return -2;
curpos[x] = -1;
//printf("reset %d\n",1+x);
}
return -1;
}
}
int main(){
scanf("%d%d",&n,&e);
memset(curpos,-1,sizeof(curpos));
for (int x = 0; x<e; x++){
int a,b;
scanf("%d%d",&a,&b);
a--;b--;
adjl[a].push_back(b);
adjl[b].push_back(a);
}
for (int x = 0; x<n; x++){
if(visited[x]) continue;
curpos[x] = 1;
if (dfs(x,-1)==-2){
for (auto k : cur){
printf("%d ",k+1);
}
return 0;
}
curpos[x] = -1;
}
printf("no");
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |