Submission #257581

#TimeUsernameProblemLanguageResultExecution timeMemory
257581super_j6Potemkin cycle (CEOI15_indcyc)C++14
10 / 100
1093 ms50252 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[mxn], v[mxn]; bool a[mxn][mxn]; vector<int> g[mxn]; int vis[mxm], p[mxm]; vector<int> 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]); } if(u[c] != v[i]) while(1) cout << 'f' << endl; hell: cout << u[i] + 1; for(int j = c; ~j && u[j] != u[i]; j = p[j]){ cout << " " << u[j] + 1; if(~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 = i ^ u[g[i][j]] ^ v[g[i][j]], y = i ^ u[g[i][l]] ^ v[g[i][l]]; if(!a[x][y]) gr[g[i][j]].push_back(g[i][l]), gr[g[i][l]].push_back(g[i][j]); } p[0] = -1; dfs(0); cout << "no" << endl; return 0; }

Compilation message (stderr)

indcyc.cpp: In function 'int main()':
indcyc.cpp:63: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...