QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#201515#5151. Bottle FlipSolitaryDream#RE 0ms0kbC++171.2kb2023-10-05 14:53:382023-10-05 14:53:39

Judging History

你现在查看的是最新测评结果

  • [2023-10-05 14:53:39]
  • 评测
  • 测评结果:RE
  • 用时:0ms
  • 内存:0kb
  • [2023-10-05 14:53:38]
  • 提交

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;
}

詳細信息

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...

result: