제출 #315266

#제출 시각아이디문제언어결과실행 시간메모리
315266SeanliuMouse (info1cup19_mouse)C++14
0 / 100
3 ms640 KiB
#include <iostream> #include <vector> #include "grader.h" using namespace std; const int maxN = 326; int ans[maxN]; bool has[maxN]; void solve(int N){ vector<int> q; for(int i = 1; i <= N; i++){ fill(has, has + N + 1, true); vector<int>().swap(q); q.push_back(0); for(int j = 0; j < i; j++){ q.push_back(ans[j]); has[ans[j]] = true; } for(int j = 1; j <= N; j++) if(!has[j]){ q.push_back(j); } int baseline = query(q), asked = i; if(baseline == N) return; for(int j = i + 1; j <= N; j++){ swap(q[j], q[i]); int res = query(q); if(res == N) return; if(res > baseline){ asked = j; baseline = res; } swap(q[j], q[i]); } ans[i] = q[asked]; } vector<int>().swap(q); q.resize(N + 1); for(int i = 1; i <= N; i++) q[i] = ans[i]; query(q); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...