제출 #61717

#제출 시각아이디문제언어결과실행 시간메모리
61717kjp4155도서관 (JOI18_library)C++17
0 / 100
92 ms712 KiB
#include <cstdio> #include <vector> #include "library.h" using namespace std; #define sz(x) (int) x.size() bool vis[1050]; int L; vector<int> ans; void Solve(int N) { // find leftmost for(int i=1;i<=N;i++){ vector<int> qv; for(int j=1;j<=N;j++){ qv.push_back(1); } qv[i-1] = 0; int res1 = Query(qv); if( res1 == 1 ){ ans.push_back(i); vis[i] = 1; break; } } vector<int> qv(N); // find left while( sz(ans) < N ){ int L = ans[sz(ans)-1]; int t = 0; for(int k=0;k<10;k++){ for(auto& e : qv) e = 0; for(int i=1;i<=N;i++)if(!vis[i]){ if( i & (1<<k) ) qv[i-1] = 1; } bool all_zero = true; for(auto e : qv) if( e != 0 ) all_zero = false; if( all_zero ) continue; int res1 = Query(qv); qv[L-1] = 1; int res2 = Query(qv); if( res1 == res2 ) t |= (1<<k); } ans.push_back(t); vis[t] = 1; } //for(auto e : ans ) printf("%d ",e); Answer(ans); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...