제출 #899647

#제출 시각아이디문제언어결과실행 시간메모리
899647DenkataXoractive (IZhO19_xoractive)C++14
100 / 100
6 ms856 KiB
#include<bits/stdc++.h>
#include "interactive.h"
//#include "grader.cpp"
using namespace std;
int i,j,p,q,n,m,k;
map <int,int> who;
multiset <int> turn(vector <int> v)
{
    multiset <int> s;
    for(auto iii:v)
        s.insert(iii);
    return s;
}
vector <int> guess(int n)
{
    vector <int> ans(n);
    int first_element = ask(1);
    set <int> all;
    for(int ii=0;ii<7;ii++)
    {
        vector <int> current;
        for(j=2;j<=n;j++)
        {
            if(((1<<ii)&j))
                current.push_back(j);
        }
        if(current.empty())
            break;
        multiset <int> s1 = turn(get_pairwise_xor(current));
        current.push_back(1);
        multiset <int> s2 = turn(get_pairwise_xor(current));

        for(auto i:s1)
            s2.erase(s2.find(i));

        for(auto i:s2)
        {
            //cout<<ii<<" "<<(i^first_element)<<endl;
            all.insert(i);
            //cout<<all.size()<<endl;
            who[i]|=(1<<ii);
        }

    }
    for(auto i:all)
        ans[who[i]-1] = (i^first_element);
    ans[0] = first_element;
    return ans;
}
/*
4
1 5 6 3
*/
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...