#include<bits/stdc++.h>
#include "ancient2.h"
using namespace std;
#define ll long long
#define pb push_back
#define ff first
#define ss second
#define all(s) s.begin(),s.end()
#define rall(s) s.rbegin(),s.rend()
string Solve(int n){
vector<int>a={1,1,2},b={2,1,2};
vector<int>A,B;
for(int i=0;i<950;i++){
if(i<511/2){
A.pb(i*2+1);
B.pb(i*2+2);
}
else if(i<511){
A.pb(i);
B.pb(i);
}
else{
A.pb(i+1);
B.pb(i+1);
}
}
A.pb(950);
B.pb(950);
int cur=0;
string ans="";
for(int i=0;i<50;i++){
int q=Query(951,A,B);
q++;
q%=256;
for(int j=7;j>=0;j--){
if(q&(1<<j)){
ans+='1';
}
else{
ans+='0';
}
}
for(int j=511+i*8;j<511+i*8+8;j++){
swap(A[cur],A[j]);
swap(B[cur],B[j]);
cur=j;
}
}
int m=3;
for(int i=0;i<n;i++){
if(i>=400){
int q=Query(m,a,b);
if(q==i+1){
ans+='0';
}
else{
ans+='1';
}
}
a.insert(a.begin(),0);
b.insert(b.begin(),0);
for(auto &x:a){
x++;
}
for(auto &x:b){
x++;
}
m++;
}
return ans;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
68 ms |
692 KB |
Wrong Answer [3] |
2 |
Halted |
0 ms |
0 KB |
- |