제출 #1309378

#제출 시각아이디문제언어결과실행 시간메모리
1309378moondarksideXoractive (IZhO19_xoractive)C++20
0 / 100
1 ms332 KiB
#include<bits/stdc++.h> #include "interactive.h" using namespace std; int ask(int position); std::vector<int> get_pairwise_xor(std::vector<int> positions); vector<int> guess(int n) { vector <int> ans; set<int> Seen; vector<map<int,bool>> Posibilities(10); int vo=ask(0); for(int bit=0;bit<7;bit++){ vector<int> Question; for(int i=1;i<n;i++){ if((i & 1<<bit )== 1 ){ Question.push_back(i); } } vector<int> Answer=get_pairwise_xor(Question); Question.push_back(0); vector<int> AnswerS=get_pairwise_xor(Question); vector<int> Valid; int j=0; for(int i=0;i<Answer.size();i++){ if(AnswerS[j]==Answer[i]){ j++; } else{ if(AnswerS[j]!=0){ Valid.push_back(AnswerS[j]); } j+=2; } } for(int i=0;i<Valid.size();i++){ Seen.insert(Valid[i]^vo); Posibilities[bit][Valid[i]^vo]=true; } } for(int i:Seen){ int pos=0; for(int bit=0;bit<7;bit++){ if(Posibilities[bit][i]){ pos+=1<<bit; } } ans[pos]=i; } ans[0]=vo; return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...