제출 #876263

#제출 시각아이디문제언어결과실행 시간메모리
876263danikoynovSuper Dango Maker (JOI22_dango3)C++17
2 / 100
40 ms756 KiB
#include "dango3.h" #include <bits/stdc++.h> using namespace std; int get_query(vector < int > lf, vector < int > rf) { for (int cur : rf) lf.push_back(cur); return Query(lf); } mt19937 rng; int n, m; void sub_solve(vector < int > &d) { if (Query(d) == 0) return; vector < int > df; int tr = 0; while(tr < 10) { tr ++; vector < int > lf, rf; for (int i = 0; i < d.size(); i ++) { if (rng() % 2 == 0) lf.push_back(d[i]); else rf.push_back(d[i]); } sub_solve(lf); sub_solve(rf); if (lf.size() + rf.size() > 2 * n && get_query(lf, rf) > 1) { d = lf; for (int cur : rf) d.push_back(cur); continue; } for (int cur : lf) df.push_back(cur); for (int cur : rf) df.push_back(cur); break; } int cnt = Query(df); for (int t = 0; t < cnt; t++) { vector < int > secure, trash; while(!df.empty() && secure.size() < n) { int bk = df.back(); df.pop_back(); if (get_query(df, secure) == 0) secure.push_back(bk); else trash.push_back(bk); } Answer(secure); for (int cur : trash) df.push_back(cur); } d = df; } void Solve(int N, int M) { n = N; m = M; vector < int > d; for (int i = 1; i <= N * M; i ++) d.push_back(i); sub_solve(d); }

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

dango3.cpp: In function 'void sub_solve(std::vector<int>&)':
dango3.cpp:28:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   28 |         for (int i = 0; i < d.size(); i ++)
      |                         ~~^~~~~~~~~~
dango3.cpp:37:35: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   37 |         if (lf.size() + rf.size() > 2 * n && get_query(lf, rf) > 1)
      |             ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
dango3.cpp:55:44: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   55 |         while(!df.empty() && secure.size() < n)
      |                              ~~~~~~~~~~~~~~^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...