Submission #257609

#TimeUsernameProblemLanguageResultExecution timeMemory
257609super_j6Potemkin cycle (CEOI15_indcyc)C++14
10 / 100
1097 ms48632 KiB
#include <iostream> #include <cstdio> #include <algorithm> #include <vector> #include <queue> using namespace std; #define endl '\n' #define ll long long #define pi pair<int, int> #define f first #define s second const int mxn = 1000, mxm = 100000; int n, m; int u[mxm], v[mxm], vis[mxm], p[mxm]; bool a[mxn][mxn]; vector<int> g[mxn], gr[mxm]; void dfs(int c){ vis[c] = 1; for(int i : gr[c]){ if(!vis[i]){ p[i] = c; dfs(i); }else if(i != p[c]){ for(int j = 0; j < 2; j++){ for(int l = 0; l < 2; l++){ if(u[c] == v[i]) goto hell; swap(u[i], v[i]); } swap(u[c], v[c]); } while(u[c] != v[i]) cout << 'f' << endl; hell: cout << u[i] + 1; for(int j = c; ~j && u[j] != u[i]; j = p[j]){ cout << " " << u[j] + 1; while(~p[j] && u[p[j]] != v[j]) swap(u[p[j]], v[p[j]]); } cout << endl; exit(0); } } } int main(){ ios::sync_with_stdio(0); cin.tie(0); cin >> n >> m; for(int i = 0; i < m; i++){ cin >> u[i] >> v[i]; u[i]--, v[i]--; a[u[i]][v[i]] = a[v[i]][u[i]] = 1; g[u[i]].push_back(i); g[v[i]].push_back(i); } for(int i = 0; i < n; i++) for(int j = 0; j < g[i].size(); j++) for(int l = 0; l < j; l++){ int x = g[i][j], y = g[i][l]; if(!a[i ^ u[x] ^ v[x]][i ^ u[y] ^ v[y]]){ gr[x].push_back(y); gr[y].push_back(x); } } p[0] = -1; dfs(0); cout << "no" << endl; return 0; }

Compilation message (stderr)

indcyc.cpp: In function 'int main()':
indcyc.cpp:61:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int j = 0; j < g[i].size(); j++)
                 ~~^~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...