QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#809093 | #8490. Guess the String | atgc | AC ✓ | 13ms | 3840kb | C++20 | 1.3kb | 2024-12-11 11:34:30 | 2024-12-11 11:34:30 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
struct node{
int qid;
vector<node>son;
}stp={0,{{2,{{3,{{7,{{26},{25},{}}},{9,{{24},{23},{22}}},{21}}},{3,{{7,{{17},{16},{}}},{9,{{15},{14},{13}}},{12}}},{}}},{2,{{3,{{7,{{8},{7},{}}},{9,{{6},{5},{4}}},{3}}},{1,{{},{7,{{},{20},{19}}},{18}}},{1,{{},{7,{{},{11},{10}}},{9}}}}},{1,{{},{7,{{},{2},{1}}},{0}}}}};
int qry(int i,char a,char b){cout<<"? "<<i<<' '<<a<<b<<endl;int c;cin>>c;return c;}
string S;
void sol(int n,int i,char lasis){
if(i>n)return;
if(i==n){
if(qry(i-1,lasis,'a')==2)S+='a';
else if(qry(i-1,lasis,'b')==2)S+='b';
else S+='c';
return;
}
if(i==n-1){
switch(qry(i,'a','a')){
case 2:S+="aa";return;
case 1:
switch(qry(i,'b','b')){
case 0:if(qry(i,'a','c'))S+="ac";else S+="ca";return;
case 1:if(qry(i,'a','b'))S+="ab";else S+="ba";return;
default:S+="bb";
}return;
default:
int b=qry(i,'b','b'),c=qry(i,'b','c');
if(min(b,c))S+='b';else S+='c';
if(b<c)S+='c';else S+='b';
}return;
}
node*a=&stp;
while(!a->son.empty())
a=&a->son[qry(i+(a->qid&1),'a'+(a->qid>>1)%3,'a'+(a->qid/6))];
S+='a'+a->qid/9;
S+='a'+a->qid/3%3;
S+='a'+a->qid%3;
sol(n,i+3,S.back());
}
signed main() {
ios::sync_with_stdio(0),cin.tie(0);
int n;while(cin>>n,n)S.clear(),sol(n,1,0),cout<<"! "<<S<<endl;
}
詳細信息
Test #1:
score: 100
Accepted
time: 1ms
memory: 3676kb
input:
3 1 0 1 1 0
output:
? 1 aa ? 1 ba ? 2 ba ? 2 bb ! abc
result:
ok max queries count: 4
Test #2:
score: 0
Accepted
time: 1ms
memory: 3584kb
input:
2 2 2 1 1 2 2 1 1 0 2 0 1 0 2 0 2 1 2 1 0 0 2 0 1 2 2 1 0 2 2 0 0 1 0
output:
? 1 aa ! aa ? 1 aa ? 1 bb ? 1 ab ! ab ? 1 aa ? 1 bb ? 1 ab ! ba ? 1 aa ? 1 bb ? 1 bc ! cb ? 1 aa ? 1 bb ? 1 bc ! bb ? 1 aa ? 1 bb ? 1 ac ! ca ? 1 aa ? 1 bb ? 1 bc ! bc ? 1 aa ? 1 bb ? 1 ac ! ac ? 1 aa ? 1 bb ? 1 bc ! cc
result:
ok max queries count: 3
Test #3:
score: 0
Accepted
time: 0ms
memory: 3652kb
input:
3 1 0 0 1 3 1 0 2 3 1 2 2 3 0 0 2 3 0 1 0 0 3 0 0 0 0 3 1 1 1 2 3 1 2 1 1 3 0 0 1 2 3 0 1 0 1 3 1 0 0 0 3 0 0 0 1 3 1 0 1 1 3 0 0 1 1 3 0 0 1 0 3 2 2 3 0 1 1 0 3 1 1 1 1 3 1 2 1 2 3 0 1 1 2 3 2 1 2 3 1 1 2 3 0 1 1 1 3 1 0 1 0 3 0 1 2 3 2 1 1 3 1 0 1 2 0
output:
? 1 aa ? 1 ba ? 2 ba ? 2 ab ! acb ? 1 aa ? 1 ba ? 2 ba ! aba ? 1 aa ? 1 ba ? 2 aa ! baa ? 1 aa ? 1 ba ? 2 ba ! cba ? 1 aa ? 1 ba ? 2 ba ? 2 ab ! bcc ? 1 aa ? 1 ba ? 2 ba ? 2 ab ! ccc ? 1 aa ? 1 ba ? 2 aa ? 2 ab ! cab ? 1 aa ? 1 ba ? 2 aa ? 2 ab ! bac ? 1 aa ? 1 ba ? 2 ba ? 2 bb ! cbb ? 1 aa ? 1 ba ?...
result:
ok max queries count: 4
Test #4:
score: 0
Accepted
time: 1ms
memory: 3840kb
input:
4 1 0 0 1 2 4 1 2 1 2 1 1 4 1 2 2 2 4 1 0 1 1 1 1 4 0 0 2 1 1 4 0 0 0 0 2 4 1 2 1 1 1 1 4 0 1 2 1 1 4 0 0 0 0 1 1 4 0 1 0 1 2 4 1 0 2 1 1 4 2 2 1 2 4 0 1 1 0 1 1 4 0 0 1 1 2 4 1 0 1 1 1 2 4 1 1 1 1 1 1 4 0 1 1 0 2 4 0 1 0 1 1 2 4 0 0 1 2 1 2 4 0 1 0 0 1 2 4 2 1 2 2 4 0 0 1 1 1 1 4 1 0 1 0 1 2 4 0 1 ...
output:
? 1 aa ? 1 ba ? 2 ba ? 2 ab ? 3 ba ! acba ? 1 aa ? 1 ba ? 2 aa ? 2 ab ? 3 ba ? 3 bb ! babc ? 1 aa ? 1 ba ? 2 aa ? 3 aa ! baaa ? 1 aa ? 1 ba ? 2 ba ? 2 bb ? 3 ca ? 3 cb ! abcc ? 1 aa ? 1 ba ? 2 ba ? 3 aa ? 3 ab ! cbac ? 1 aa ? 1 ba ? 2 ba ? 2 ab ? 3 ca ! ccca ? 1 aa ? 1 ba ? 2 aa ? 2 ab ? 3 ca ? 3 cb...
result:
ok max queries count: 6
Test #5:
score: 0
Accepted
time: 13ms
memory: 3580kb
input:
100 0 1 1 1 2 1 1 1 0 1 0 2 2 1 0 0 0 0 1 1 0 1 0 0 0 0 0 2 0 1 0 1 1 1 2 0 1 1 2 1 1 2 0 0 0 0 1 1 1 1 2 1 1 0 1 1 0 1 0 1 1 0 0 2 1 1 2 1 0 1 1 0 0 1 1 1 1 2 0 1 1 2 2 1 1 2 1 2 1 2 1 1 0 0 0 1 2 1 2 1 0 1 1 0 0 0 1 0 1 0 0 0 1 0 1 1 0 0 0 1 1 100 0 1 1 1 1 0 0 1 0 0 1 1 1 0 1 2 1 0 2 0 0 0 0 0 1 ...
output:
? 1 aa ? 1 ba ? 2 ba ? 2 bb ? 4 aa ? 5 aa ? 5 ab ? 7 aa ? 7 ba ? 8 ba ? 8 bb ? 10 aa ? 11 aa ? 13 aa ? 13 ba ? 14 ba ? 14 ab ? 16 aa ? 16 ba ? 17 ba ? 17 bb ? 19 aa ? 19 ba ? 20 ba ? 20 ab ? 22 aa ? 22 ba ? 23 ba ? 25 aa ? 25 ba ? 26 ba ? 26 ab ? 28 aa ? 28 ba ? 29 aa ? 31 aa ? 31 ba ? 32 ba ? 32 bb...
result:
ok max queries count: 130
Test #6:
score: 0
Accepted
time: 0ms
memory: 3580kb
input:
4 0 1 1 1 2 4 1 0 1 0 1 1 4 2 2 2 4 1 0 0 0 1 2 4 1 1 2 1 1 4 0 0 0 1 2 4 0 1 0 1 1 1 4 2 1 2 1 2 4 0 1 1 0 2 4 0 0 0 0 1 1 4 1 0 1 0 2 4 0 0 1 1 2 4 1 0 1 1 1 1 4 1 2 1 1 2 4 2 1 2 1 1 4 0 0 1 1 1 1 4 2 1 2 1 2 4 1 2 2 1 1 4 2 1 2 1 2 4 1 0 0 0 1 1 4 1 2 2 1 2 4 1 0 1 1 1 1 4 0 0 1 2 1 1 4 0 0 1 1 ...
output:
? 1 aa ? 1 ba ? 2 ba ? 2 bb ? 3 ca ! bbca ? 1 aa ? 1 ba ? 2 ba ? 2 bb ? 3 aa ? 3 ab ! acac ? 1 aa ? 2 aa ? 3 aa ! aaaa ? 1 aa ? 1 ba ? 2 ba ? 2 ab ? 3 ca ? 3 cb ! accb ? 1 aa ? 1 ba ? 2 aa ? 3 aa ? 3 ab ! caac ? 1 aa ? 1 ba ? 2 ba ? 2 ab ? 3 ba ! ccba ? 1 aa ? 1 ba ? 2 ba ? 2 ab ? 3 ba ? 3 bb ! bcbc...
result:
ok max queries count: 6
Test #7:
score: 0
Accepted
time: 0ms
memory: 3576kb
input:
5 0 1 1 1 2 5 1 1 1 1 2 5 2 2 0 0 1 5 0 1 1 0 1 0 2 5 0 0 0 1 1 1 2 5 0 0 1 1 2 5 0 1 1 2 1 0 0 5 1 0 0 0 0 0 1 5 1 0 1 0 1 0 2 5 0 1 1 0 1 1 2 5 0 0 0 1 1 0 2 5 2 2 0 1 2 5 0 0 1 1 1 0 0 5 1 0 1 2 1 1 0 5 1 0 1 0 1 1 2 5 1 2 1 1 0 0 1 5 1 2 2 1 1 0 5 0 1 0 0 0 1 0 5 0 1 0 0 0 1 2 5 1 2 1 1 0 0 1 5 ...
output:
? 1 aa ? 1 ba ? 2 ba ? 2 bb ? 4 aa ! bbcaa ? 1 aa ? 1 ba ? 2 aa ? 2 ab ? 4 aa ! cacaa ? 1 aa ? 2 aa ? 4 aa ? 4 bb ? 4 bc ! aaacc ? 1 aa ? 1 ba ? 2 ba ? 2 bb ? 4 aa ? 4 bb ? 4 ac ! bcaac ? 1 aa ? 1 ba ? 2 ba ? 2 ab ? 4 aa ? 4 bb ? 4 ab ! ccbab ? 1 aa ? 1 ba ? 2 ba ? 2 bb ? 4 aa ! cbcaa ? 1 aa ? 1 ba ...
result:
ok max queries count: 7
Test #8:
score: 0
Accepted
time: 3ms
memory: 3672kb
input:
20 0 1 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 1 1 1 0 1 0 1 0 2 1 20 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 0 1 0 1 0 0 0 1 0 0 1 20 0 1 1 2 0 0 1 2 0 0 0 0 0 1 1 2 0 0 0 0 0 1 1 1 0 1 0 20 0 0 1 1 0 0 0 1 0 1 0 0 0 1 0 1 0 0 1 2 0 1 0 0 0 1 0 20 0 1 0 0 0 1 1 2 0 1 0 1 0 0 0 1 0 0 0 1 0 0 1 2 0 1 2 20 0 0 0 0 0 1 ...
output:
? 1 aa ? 1 ba ? 2 ba ? 2 bb ? 4 aa ? 4 ba ? 5 ba ? 5 ab ? 7 aa ? 7 ba ? 8 ba ? 8 bb ? 10 aa ? 10 ba ? 11 ba ? 11 ab ? 13 aa ? 13 ba ? 14 ba ? 14 bb ? 16 aa ? 16 ba ? 17 ba ? 17 ab ? 19 aa ? 19 bb ? 19 bc ! bbcccccbccccbbcbcbbb ? 1 aa ? 1 ba ? 2 ba ? 2 ab ? 4 aa ? 4 ba ? 5 ba ? 5 ab ? 7 aa ? 7 ba ? 8...
result:
ok max queries count: 27
Test #9:
score: 0
Accepted
time: 3ms
memory: 3504kb
input:
100 0 1 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 1 1 1 0 1 0 1 0 1 1 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0 1 1 0 0 1 1 0 0 1 2 0 1 0 1 0 1 0 0 0 0 1 2 0 1 0 0 0 0 1 2 0 0 0 1 0 0 1 1 0 0 0 1 0 1 0 0 0 1 0 1 0 0 1 2 0 1 0 0 0 0 1 2 0 0 0 1 0 1 1 2 0 0 1 1 0 0 1 1 0 0 1 1 0 1 1 2 1 1 100 0 0 0 0 0 1 0 1 0 0 1 2 ...
output:
? 1 aa ? 1 ba ? 2 ba ? 2 bb ? 4 aa ? 4 ba ? 5 ba ? 5 ab ? 7 aa ? 7 ba ? 8 ba ? 8 bb ? 10 aa ? 10 ba ? 11 ba ? 11 ab ? 13 aa ? 13 ba ? 14 ba ? 14 bb ? 16 aa ? 16 ba ? 17 ba ? 17 ab ? 19 aa ? 19 ba ? 20 ba ? 20 bb ? 22 aa ? 22 ba ? 23 ba ? 23 ab ? 25 aa ? 25 ba ? 26 ba ? 26 ab ? 28 aa ? 28 ba ? 29 ba ...
result:
ok max queries count: 134
Test #10:
score: 0
Accepted
time: 4ms
memory: 3572kb
input:
100 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 0 1 2 1 2 100 1 0 2 1 0 2 1 0 2 1 0 2 1 0 2 1 0 2 1 0 2 1 0 2 1 0 2 1 0 2 1 0 2 1 0 2 1 0 2 1 0 2 1 0 2 ...
output:
? 1 aa ? 1 ba ? 2 ba ? 4 aa ? 4 ba ? 5 ba ? 7 aa ? 7 ba ? 8 ba ? 10 aa ? 10 ba ? 11 ba ? 13 aa ? 13 ba ? 14 ba ? 16 aa ? 16 ba ? 17 ba ? 19 aa ? 19 ba ? 20 ba ? 22 aa ? 22 ba ? 23 ba ? 25 aa ? 25 ba ? 26 ba ? 28 aa ? 28 ba ? 29 ba ? 31 aa ? 31 ba ? 32 ba ? 34 aa ? 34 ba ? 35 ba ? 37 aa ? 37 ba ? 38 ...
result:
ok max queries count: 134
Extra Test:
score: 0
Extra Test Passed