제출 #1038015

#제출 시각아이디문제언어결과실행 시간메모리
1038015ttamxCOVID tests (CEOI24_covid)C++17
41.39 / 100
1567 ms596 KiB
#include <bits/stdc++.h>

using namespace std;

mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());

int n,t,k;
double p;
string ans;

int ask(int l,int r){
    string s(n,'0');
    for(int i=l;i<=r;i++)s[i]='1';
    cout << "Q " << s << endl;
    char res;
    cin >> res;
    return res=='P';
}

void solve(int l,int r){
    if(l==r)return void(ans[l]='1');
    int m=(l+r)/2;
    if(ask(l,m))solve(l,m);
    if(ask(m+1,r))solve(m+1,r);
}

void runcase(){
    ans=string(n,'0');
    for(int l=0,r=k-1;l<n;l+=k,r+=k){
        r=min(r,n-1);
        if(ask(l,r))solve(l,r);
    }
    cout << "A " << ans << endl;
    string s;
    cin >> s;
}

int main(){
    cin.tie(nullptr)->sync_with_stdio(false);
    cin >> n >> p >> t;
    double q=1-p,r=q;
    k=1;
    while(r>0.5&&k<n){
        r*=q;
        k++;
    }
    while(t--)runcase();
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...