답안 #1036509

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1036509 2024-07-27T13:22:08 Z Warinchai COVID tests (CEOI24_covid) C++14
0 / 100
63 ms 600 KB
#include<bits/stdc++.h>
#pragma GCC optimize("O3")
#pragma GCC target("avx2")
using namespace std;
int n,t;
double p;
int use=0;
int ask(vector<int>v){
    //use++;
    cout<<"Q ";
    for(auto x:v)cout<<x;
    cout<<endl;
    //cerr<<"input:"<<endl;
    char ans;
    cin>>ans;
    //cerr<<ans<<endl;
    return ans=='P'?1:0;
}
vector<int>temp;
vector<int>ans;
void fans(int st,int en){
    //cerr<<st<<" "<<en<<endl;
    if(st>=en)return;
    int m=(st+en)/2;
    for(int i=st;i<=m;i++)temp[i]=1;
    bool tans;tans=ask(temp);
    for(int i=st;i<=m;i++)temp[i]=0;
    if(tans){
        if(st==m)ans[st]=1;
        else fans(st,m);
    }
    for(int i=m+1;i<=en;i++)temp[i]=1;
    tans=ask(temp);
    for(int i=m+1;i<=en;i++)temp[i]=0;
    if(tans){
        if(m+1==en)ans[en]=1;
        else fans(m+1,en);
    }
}
int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    cin>>n>>p>>t;
    temp.resize(n);
    ans.resize(n);
    while(t--){
        //cerr<<"work"<<endl;
        for(auto &x:ans)x=0;
        use=0;
        int prob=p*1000;
        int div=1000/prob;
        for(int i=1;i<=div;i++)fans(div*(i-1)+1,i==div?n:div*i);
        cout<<"A ";
        for(auto x:ans)cout<<x;
        cout<<endl;
        char res;
        cin>>res;
        //cerr<<"use:"<<use<<endl;
        if(res=='W')break;
    }
}
# 결과 실행 시간 메모리 Grader output
1 Runtime error 1 ms 600 KB Execution killed with signal 6
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 63 ms 344 KB translate:wrong
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 1 ms 600 KB Execution killed with signal 6
2 Halted 0 ms 0 KB -