제출 #681957

#제출 시각아이디문제언어결과실행 시간메모리
681957Mher777Easter Eggs (info1cup17_eastereggs)C++14
16 / 100
2 ms464 KiB
#include <iostream> #include <iomanip> #include <array> #include <string> #include <algorithm> #include <cmath> #include <set> #include <map> #include <unordered_set> #include <unordered_map> #include <vector> #include <stack> #include <queue> #include <deque> #include <bitset> #include <list> #include <iterator> #include <numeric> #include <complex> #include <utility> #include <random> #include <fstream> #include "grader.h" using namespace std; const int N = 600; vector<int> g[N]; vector<int> a; vector<bool> used(N); void dfs(int u) { used[u] = 1; for (int i = 0; i < g[u].size(); i++) { if (!used[g[u][i]]) { used[g[u][i]] = true; a.push_back(g[u][i]); dfs(g[u][i]); } } } int findEgg (int n, vector<pair<int,int>> b) { for (int i = 1; i <= n; i++) used[i] = false; a.clear(); for (int i = 0; i < b.size(); i++) { if (b[i].second < b[i].first) swap(b[i].first, b[i].second); g[b[i].first].clear(); } for (int i = 0; i < b.size(); i++) { g[b[i].first].push_back(b[i].second); } for (int i = 1; i <= n; i++) { if (!used[i]) { vector<int> v1; a.clear(); a.push_back(i); dfs(i); if (query(a) == 0) { continue; } if (a.size() == 1) { return a[0]; } int l = 0, r = a.size() - 1, mid = (l + r) / 2; while (l <= r) { mid = (l + r) / 2; if (r == a.size() - 1 && l == a.size() - 1) { return a[r]; } for (int i = 0; i <= mid; i++) { v1.push_back(a[i]); } if (query(v1) == 1) { a = v1; if (r - l + 1 == 1) { return v1[l]; } r = mid; } else { l = mid + 1; } v1.clear(); } } } }

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

eastereggs.cpp: In function 'void dfs(int)':
eastereggs.cpp:34:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   34 |  for (int i = 0; i < g[u].size(); i++) {
      |                  ~~^~~~~~~~~~~~~
eastereggs.cpp: In function 'int findEgg(int, std::vector<std::pair<int, int> >)':
eastereggs.cpp:46:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   46 |  for (int i = 0; i < b.size(); i++) {
      |                  ~~^~~~~~~~~~
eastereggs.cpp:50:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   50 |  for (int i = 0; i < b.size(); i++) {
      |                  ~~^~~~~~~~~~
eastereggs.cpp:68:11: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   68 |     if (r == a.size() - 1 && l == a.size() - 1) {
      |         ~~^~~~~~~~~~~~~~~
eastereggs.cpp:68:32: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   68 |     if (r == a.size() - 1 && l == a.size() - 1) {
      |                              ~~^~~~~~~~~~~~~~~
eastereggs.cpp:88:1: warning: control reaches end of non-void function [-Wreturn-type]
   88 | }
      | ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...