제출 #920598

#제출 시각아이디문제언어결과실행 시간메모리
920598DON_FEaster Eggs (info1cup17_eastereggs)C++14
0 / 100
1 ms500 KiB
#include <bits/stdc++.h> #include "grader.h" using namespace std; using ll = long long; #define F first #define S second vector < vector < int > > g; set < int > cur, sp; vector < int > all, vis; ll p; void dfs(int u){ if ((int) sp.size() == p){ return; } all.push_back(u); if (cur.count(u)){ sp.insert(u); } for (auto &i : g[u]){ dfs(i); } } int findEgg (int n, vector < pair < int, int > > z){ for (int i = 1; i <= n; ++i){ cur.insert(i); } g = vector < vector < int > > (n + 1); ll lg = ceil(log2(n)), c = 0; for (int i = 0; i < n - 1; ++i){ g[z[i].F].push_back(z[i].S); } while (cur.size() != 1 && lg){ p = cur.size() / 2; for (int i = 1; i <= n; ++i){ dfs(i); if ((int) sp.size() == p){ break; } sp.clear(); all.clear(); } if (sp.size() != p)cout << -1; ll tmp = query(all); if (tmp){ cur.clear(); for (auto &i : sp){ cur.insert(i); } }else{ for (auto &i : sp){ cur.erase(i); } } sp.clear(); all.clear(); lg--; } return *cur.begin(); }

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

eastereggs.cpp: In function 'int findEgg(int, std::vector<std::pair<int, int> >)':
eastereggs.cpp:46:23: warning: comparison of integer expressions of different signedness: 'std::set<int>::size_type' {aka 'long unsigned int'} and 'll' {aka 'long long int'} [-Wsign-compare]
   46 |         if (sp.size() != p)cout << -1;
      |             ~~~~~~~~~~^~~~
eastereggs.cpp:32:28: warning: unused variable 'c' [-Wunused-variable]
   32 |     ll lg = ceil(log2(n)), c = 0;
      |                            ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...