QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#201515 | #5151. Bottle Flip | SolitaryDream# | RE | 0ms | 0kb | C++17 | 1.2kb | 2023-10-05 14:53:38 | 2023-10-05 14:53:39 |
answer
#include<bits/stdc++.h>
using namespace std;
#define FOR(i,s,t) for(int i=(s),_t=(t); i<=_t; ++i)
typedef double db;
const db pi=acos(-1);
const int N=705;
void LEFT() {
printf("? left\n");
fflush(stdout);
}
void RIGHT() {
printf("? right\n");
fflush(stdout);
}
void FLIP() {
printf("? flip\n");
fflush(stdout);
}
int a[105];
bool check(int p) {
FOR(i,1,100) if(a[i]!=a[p-100+i]) return 0;
return 1;
}
int main() {
int x,p=100;
while(true) {
scanf("%d",&x);
if(x==1) {
FLIP();
} else {
if(p==1) break;
LEFT();
--p;
}
}
FLIP();
scanf("%d",&x);
a[1]=1;
while(p<100) {
RIGHT();
++p;
scanf("%d",&x);
if(x==1) {
cout << p-1 << endl;
return 0;
}
if(rand()&1) {
FLIP();
scanf("%d",&x);
a[p]=1;
}
}
while(true) {
RIGHT();
++p;
scanf("%d",&a[p]);
if(check(p)) {
cout << p-100 << '\n';
return 0;
}
}
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 0
Runtime Error
input:
22 4 1 4
output:
? left ? left ? flip ? left ? left ? left ? left ? left ? left ? left ? left ? left ? left ? left ? left ? left ? left ? left ? left ? left ? left ? left ? left ? left ? left ? left ? left ? left ? left ? left ? left ? left ? left ? left ? left ? left ? left ? left ? left ? left ? left ? left ? left...