Submission #33694

#TimeUsernameProblemLanguageResultExecution timeMemory
33694imaxbluePotemkin cycle (CEOI15_indcyc)C++14
20 / 100
49 ms5552 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define mp make_pair #define pb push_back #define x first #define y second #define pii pair<int, int> #define p3i pair<pii, int> #define pll pair<ll, ll> #define p3l pair<pll, ll> #define lseg L, (L+R)/2, N*2+1 #define rseg (L+R)/2+1, R, N*2+2 #define ub upper_bound #define lb lower_bound #define pq priority_queue #define MN 1000000007 #define fox(k, x) for (int k=0; k<x; ++k) #define fox1(k, x) for (int k=1; k<=x; ++k) #define foxr(k, x) for (int k=x-1; k>=0; --k) #define fox1r(k, x) for (int k=x; k>0; --k) #define ms multiset #define flood(x) memset(x, 0x3f3f3f3f, sizeof x) #define drain(x) memset(x, 0, sizeof x) #define rng() (rand() >> 3)*rand() int n, m, a, b, com[1005], pre[1005], p, N, P; bool u[1005], u2[1005], adj[1005][1005]; vector<int> v[1005], s; void dfs(int N){ if (u2[N]) return; u2[N]=1; if (u[N]){ s.pb(N); return; } fox(l, v[N].size()) dfs(v[N][l]); } queue<pii> q; void bfs(int S, int T,int L){ q.push(mp(S, -1)); memset(u2, 0, sizeof u2); u2[L]=1; while(!q.empty()){ N=q.front().x; P=q.front().y; q.pop(); if (u2[N]) continue; u2[N]=1; pre[N]=P; if (N==T) break; fox(l, v[N].size()){ q.push(mp(v[N][l], N)); } } while(T!=S){ cout << T << ' '; T=pre[T]; } cout << S << ' ' << L << endl; } int main(){ cin >> n >> m; fox(l, m){ cin >> a >> b; v[a].pb(b); v[b].pb(a); adj[a][b]=adj[b][a]=1; } fox1(l, n){ fox1(l2, n){ u[l2]=adj[l][l2]; } u[l]=1; memset(u2, 0, sizeof u2); u2[l]=1; fox1(l2, n){ if (u[l2] || u2[l2]) continue; s.clear(); dfs(l2); fox(l3, s.size()){ for(int l4=l3+1; l4<s.size(); ++l4){ if (!adj[s[l3]][s[l4]]){ bfs(s[l3], s[l4], l); return 0; } } } } fox(l2, v[l].size()){ for(int l3=l2+1; l3<v[l].size(); ++l3){ if (!adj[l2][l3] && com[l2]==com[l3]){ } } } } cout << "no"; return 0; }

Compilation message (stderr)

indcyc.cpp: In function 'void dfs(int)':
indcyc.cpp:18:34: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
 #define fox(k, x) for (int k=0; k<x; ++k)
                                  ^
indcyc.cpp:37:5: note: in expansion of macro 'fox'
     fox(l, v[N].size()) dfs(v[N][l]);
     ^
indcyc.cpp: In function 'void bfs(int, int, int)':
indcyc.cpp:18:34: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
 #define fox(k, x) for (int k=0; k<x; ++k)
                                  ^
indcyc.cpp:49:9: note: in expansion of macro 'fox'
         fox(l, v[N].size()){
         ^
indcyc.cpp: In function 'int main()':
indcyc.cpp:18:34: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
 #define fox(k, x) for (int k=0; k<x; ++k)
                                  ^
indcyc.cpp:78:13: note: in expansion of macro 'fox'
             fox(l3, s.size()){
             ^
indcyc.cpp:79:36: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
                 for(int l4=l3+1; l4<s.size(); ++l4){
                                    ^
indcyc.cpp:18:34: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
 #define fox(k, x) for (int k=0; k<x; ++k)
                                  ^
indcyc.cpp:87:9: note: in expansion of macro 'fox'
         fox(l2, v[l].size()){
         ^
indcyc.cpp:88:32: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             for(int l3=l2+1; l3<v[l].size(); ++l3){
                                ^
#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...