Submission #1036498

#TimeUsernameProblemLanguageResultExecution timeMemory
1036498WarinchaiCOVID tests (CEOI24_covid)C++14
10 / 100
7035 ms344 KiB
#include<bits/stdc++.h> 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; void fans(int st,int en,vector<int>&ans){ //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,ans); } 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,ans); } } vector<int>ans; int main(){ ios_base::sync_with_stdio(false); cin.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; fans(0,n-1,ans); cout<<"A "; for(auto x:ans)cout<<x; cout<<endl; char res; cin>>res; //cerr<<"use:"<<use<<endl; if(res=='W')break; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...