Submission #438409

#TimeUsernameProblemLanguageResultExecution timeMemory
438409Bom164Combo (IOI18_combo)C++14
97 / 100
44 ms540 KiB
#include<bits/stdc++.h> #include<iostream> #include "combo.h" using namespace std; #define ll long long #define pb push_back #define mp make_pair #define pii pair<int,int> #define vi vector<int> #define mii map<int,int> #define pqb priority_queue<int> #define pqs priority_queue<int,vi,greater<int> > #define mod 1000000007 #define inf 1e18 #define rep(x,s,e) for (auto x=s-(s>e);x!=e-(s>e);s<e?x++:x--) #define w(x) int x; cin>>x; while(x--) string s=""; string sf; string guess_sequence(int n){ int cc=n; int A=press("A"); int B=press("B"); int X=press("X"); if(A==1) s+="A"; else if(B==1) s+="B"; else if(X==1) s+="X"; else s+="Y"; int ss = s.size(); if(n==1){ return s; } if(s=="A"){ for(int i=1;i<n-1;i++){ int c = press(s+"B"+s+"XB"+s+"XX"+s+"XY"); if(c==ss) s+="Y"; else if(c==ss+1) s+="B"; else s+="X"; ss=s.size(); } sf = s+"B"; int q=press(sf); if(q==n){ return sf; } sf=s+"X"; q=press(sf); if(q==n){ return sf; } else{ return s+"Y"; } }else if(s=="B"){ for(int i=1;i<n-1;i++){ int c = press(s+"A"+s+"XA"+s+"XX"+s+"XY"); if(c==ss) s+="Y"; else if(c==ss+1) s+="A"; else s+="X"; ss=s.size(); } sf = s+"A"; int q=press(sf); if(q==n){ return sf; } sf=s+"X"; q=press(sf); if(q==n){ return sf; } else{ return s+"Y"; } }else if(s=="X"){ for(int i=1;i<n-1;i++){ int c = press(s+"B"+s+"AB"+s+"AA"+s+"AY"); if(c==ss) s+="Y"; else if(c==ss+1) s+="B"; else s+="A"; ss=s.size(); } sf = s+"A"; int q=press(sf); if(q==n){ return sf; } sf=s+"B"; q=press(sf); if(q==n){ return sf; } else{ return s+"Y"; } }else if(s=="Y"){ for(int i=1;i<n-1;i++){ int c = press(s+"B"+s+"XB"+s+"XX"+s+"XA"); if(c==ss) s+="A"; else if(c==ss+1) s+="B"; else s+="X"; ss=s.size(); } sf = s+"A"; int q=press(sf); if(q==n){ return sf; } sf=s+"B"; q=press(sf); if(q==n){ return sf; } else{ return s+"X"; } } return s; }

Compilation message (stderr)

combo.cpp: In function 'std::string guess_sequence(int)':
combo.cpp:24:9: warning: unused variable 'cc' [-Wunused-variable]
   24 |     int cc=n;
      |         ^~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...