| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
|---|---|---|---|---|---|---|---|
| 1290193 | DangerNoodle7591 | 콤보 (IOI18_combo) | C++20 | 0 ms | 0 KiB |
#include <bits/stdc++.h>
using namespace std;
#define lalala ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
#define int long long int
//#define N 500005
#define big 100000000000000000
//#define endl "\n"
#define pb push_back
#define p push
#define f first
#define s second
int press(string p);
/*int press(string p){
cout<<p<<endl;
int a;cin>>a;
return a;
}*/
char ilk(){
string bas="AB";
int deg=press(bas);
if(deg==0){
bas="X";
deg=press(bas);
if(deg)return 'X';
return 'Y';
}
bas="A";
deg=press(bas);
if(deg)return 'A';
return 'B';
}
string guess_sequence(int N){
char x=ilk();
string bas;
bas.pb(x);
string harf;
//cout<<bas<<endl;
if(x!='A')harf.pb('A');
if(x!='B')harf.pb('B');
if(x!='X')harf.pb('X');
if(x!='Y')harf.pb('Y');
for(int i=2;i<=N-1;i++){
string yeni=bas;
yeni.pb(harf[0]);
for(auto u:bas)yeni.pb(u);
yeni.pb(harf[1]);
yeni.pb(harf[0]);
for(auto u:bas)yeni.pb(u);
yeni.pb(harf[1]);
yeni.pb(harf[1]);
for(auto u:bas)yeni.pb(u);
yeni.pb(harf[1]);
yeni.pb(harf[2]);
int deg=press(yeni);
if(deg==i-1){
bas.pb(harf[2]);
}
else if(deg==i)bas.pb(harf[0]);
else bas.pb(harf[1]);
//cout<<bas<<endl;
}
string yeni=bas;
yeni.pb(harf[0]);
for(auto u:bas)yeni.pb(u);
yeni.pb(harf[1]);
if(press(yeni)==N-1){
bas.pb(harf[2]);
return bas;
}
yeni=bas;
yeni.pb(harf[0]);
if(press(yeni)==N)bas.pb(harf[0]);
else bas.pb(harf[1]);
return bas;
}
/*signed main() {
lalala;
int n;cin>>n;
string a=guess_sequence(n);
cout<<a<<endl;
}*/
