# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
244331 | 2020-07-03T15:59:30 Z | hihi | Potemkin cycle (CEOI15_indcyc) | C++ | 406 ms | 95224 KB |
#include <bits/stdc++.h> using namespace std; #define ll long long #define mp make_pair #define sz(x) (int)(x).size() #define all(x) (x).begin(),(x).end() #define pb push_back #define ii pair<int,int> #define INF 1000000000 int n,m,from[200005],to[200005],cur,a,b; vector<int> edge[1005]; vector<int> adj[200005]; int con[1005][1005]; void addedge(int a,int b) { con[a][b]=con[b][a]=1; from[cur]=a; to[cur]=b; edge[a].pb(cur++); from[cur]=b; to[cur]=a; edge[b].pb(cur++); } int p[200005],vis[200005],node=-1; void dfs(int v) { if (node!=-1) return; vis[v]=1; for (int x:adj[v]) { if (vis[x]==1) { node=v; return; } if (vis[x]==0) dfs(x); } vis[v]=2; } queue<int> q; vector<int> ans,e; void bfs(int s) { q.push(s); memset(vis,0,sizeof(vis)); p[s]=-1; vis[s]=1; while(!q.empty()) { int v=q.front(); q.pop(); for (int x:adj[v]) { if (x==s) { int c=v; while(c!=x) { e.pb(c); c=p[c]; } e.pb(x); if (from[e[1]]==to[e[0]] || to[e[1]]==to[e[0]]) ans.pb(to[e[0]]); else ans.pb(from[e[0]]); for (int i=1;i<sz(e);i++) { if (ans.back()==from[e[i]]) ans.pb(to[e[i]]); else if (ans.back()==to[e[i]]) ans.pb(from[e[i]]); else assert(0); } return; } if (!vis[x]) { vis[x]=1; p[x]=v; q.push(x); } } } } int main() { scanf("%d%d",&n,&m); for (int i=0;i<m;i++) { scanf("%d%d",&a,&b); --a,--b; addedge(a,b); } for (int i=0;i<n;i++) { for (int j=0;j<sz(edge[i]);j++) { for (int k=j+1;k<sz(edge[i]);k++) { if (!con[to[edge[i][j]]][to[edge[i][k]]]) { adj[edge[i][j]^1].pb(edge[i][k]); adj[edge[i][k]^1].pb(edge[i][j]); } } } } for (int i=0;i<cur;i++) { if (!vis[i]) p[i]=-1,dfs(i); if (node!=-1) break; } if (node==-1) printf("no\n"); else { bfs(node); for (int i=0;i<sz(ans);i++) { printf("%d%c", ans[i]+1,(i<sz(ans)-1)?' ':'\n'); } } }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 8 ms | 5888 KB | Output is correct |
2 | Correct | 8 ms | 5120 KB | Output is correct |
3 | Correct | 8 ms | 4992 KB | Output is correct |
4 | Correct | 7 ms | 5120 KB | Output is correct |
5 | Correct | 9 ms | 5120 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 9 ms | 5888 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 8 ms | 5888 KB | Output is correct |
2 | Correct | 7 ms | 5120 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 9 ms | 6272 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 9 ms | 6528 KB | Output is correct |
2 | Correct | 10 ms | 5760 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 12 ms | 6656 KB | Output is correct |
2 | Correct | 12 ms | 7424 KB | Output is correct |
3 | Correct | 19 ms | 9344 KB | Output is correct |
4 | Correct | 18 ms | 8576 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 15 ms | 8576 KB | Output is correct |
2 | Correct | 14 ms | 7936 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 122 ms | 26344 KB | Output is correct |
2 | Correct | 39 ms | 13432 KB | Output is correct |
3 | Correct | 125 ms | 25900 KB | Output is correct |
4 | Correct | 39 ms | 12924 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 126 ms | 54904 KB | Output is correct |
2 | Correct | 159 ms | 58360 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 123 ms | 10616 KB | Output is correct |
2 | Correct | 125 ms | 10744 KB | Output is correct |
3 | Correct | 406 ms | 95224 KB | Output is correct |
4 | Correct | 343 ms | 94840 KB | Output is correct |