제출 #440293

#제출 시각아이디문제언어결과실행 시간메모리
440293julian33콤보 (IOI18_combo)C++14
0 / 100
1 ms200 KiB
#include <bits/stdc++.h> #include "combo.h" using namespace std; #ifdef LOCAL #define deb(...) logger(#__VA_ARGS__, __VA_ARGS__) template<typename ...Args> void logger(string vars, Args&&... values) { cerr<<vars<<" = "; string delim=""; (...,(cerr<<delim<<values,delim=", ")); cerr<<"\n"; } #else #define deb(...) logger(#__VA_ARGS__, __VA_ARGS__) template<typename ...Args> void logger(string vars, Args&&... values) {} #endif #define pb push_back #define sz(x) (int)(x.size()) typedef long long ll; typedef pair<int,int> pii; typedef pair<ll,ll> pll; template<typename T> inline void maxa(T& a,T b){a=max(a,b);} template<typename T> inline void mina(T& a,T b){a=min(a,b);} // int press(string p){ // string S="ABXYY"; // deb(p); // string pref=S; // while(sz(pref)){ // if(p.find(pref)!=string::npos){ // deb(pref); // return sz(pref); // } // pref.pop_back(); // } // return 0; // } string guess_sequence(int N){ string res=""; while(sz(res)!=N){ if(N-sz(res)==1){ int num=press(res+'A'+res+'B'); if(num>sz(res)){ int a=press(res+"AX"); if(a==sz(res)+1) res+='A'; else if(a==sz(res)+2) res+="AX"; else res+='B'; } else{ int x=press(res+"XX"); if(x==sz(res)+1) res+='X'; else if(x==sz(res)+2) res+="XX"; else res+='Y'; } } else{ int num=press(res+"AX"+res+"AY"+res+"BX"+res+"BY"); if(num==sz(res)+2){ int a=press(res+"AX"); if(a==sz(res)+2){ res+="AX"; } else if(a==sz(res)+1){ res+="AY"; } else{ res+='B'; } } else if(num==sz(res)+1){ int a=press(res+"AB"); if(a==sz(res)+2){ res+="AB"; } else if(a==sz(res)+1){ res+="AA"; } else{ res+='B'; } } else{ int x=press(res+"XY"); if(x==sz(res)+1) res+='X'; else if(x==sz(res)+2) res+="XY"; else res+='Y'; } } } return res; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...