제출 #243006

#제출 시각아이디문제언어결과실행 시간메모리
243006Exile_2k4Easter Eggs (info1cup17_eastereggs)C++17
0 / 100
3073 ms640 KiB
#include <bits/stdc++.h> #include "grader.h" using namespace std; const int sz = 600; #define pii pair<int,int> vector<int> g[sz], call; bool exist[sz], nxt[sz]; void dfs(int p,int u, int need){ if(exist[u] && call.size()<need) call.push_back(u); for(auto v:g[u]) if(v!=p) dfs(u,v,need); } int findEgg(int N, vector<pii> bridges){ for(int i=0;i<N-1;++i){ g[bridges[i].first].push_back(bridges[i].second); g[bridges[i].second].push_back(bridges[i].first); } memset(exist,1,sizeof(exist)); int cnt = N; while(cnt!=1){ int mid = cnt/2; call.clear(); for(int i=1;i<=N;++i) if(exist[i]){ dfs(i,i,mid); break; } memset(nxt,0,sizeof(nxt)); if(query(call)){ for(auto v:call) nxt[v] = 1; for(int i=1;i<=N;++i) exist[i] = nxt[i]; cnt = call.size(); }else{ for(auto v:call) exist[v] = 0; cnt -= call.size(); } } for(int i=1;i<=N;++i) if(exist[i]) return i; }

컴파일 시 표준 에러 (stderr) 메시지

eastereggs.cpp: In function 'void dfs(int, int, int)':
eastereggs.cpp:15:28: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  if(exist[u] && call.size()<need) call.push_back(u);
                 ~~~~~~~~~~~^~~~~
eastereggs.cpp: In function 'int findEgg(int, std::vector<std::pair<int, int> >)':
eastereggs.cpp:45:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...