이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "combo.h"
#include<bits/stdc++.h>
//apig's property
//Happiness can be found, even in the darkest of times, if one only remembers to turn on the light
//El Pueblo Unido Jamas Sera Vencido
//The saddest thing about betrayal? is that it never comes from your enemies
//Do or do not... there is no try
#define fast ios_base::sync_with_stdio(0) , cin.tie(0) , cout.tie(0)
#define F first
#define S second
#define pb push_back
#define vll vector< ll >
#define vi vector< int >
#define pll pair< ll , ll >
#define pi pair< int , int >
#define all(s) s.begin() , s.end()
#define sz(s) s.size()
#define str string
#define md ((s + e) / 2)
#define mid ((l + r) / 2)
#define msdp(dp) memset(dp , -1 , sizeof dp)
#define mscl(dp) memset(dp , 0 , sizeof dp)
#define C continue
#define R return
#define B break
#define lx node * 2
#define rx node * 2 + 1
using namespace std;
typedef long long ll;
str gen(str &s , str &id){
R s + id[0] + s + id[1] + id[0] + s + id[1] + id[1] + s + id[1] + id[2] ;
}
str guess_sequence(int N) {
str ans = "" , id = "";
if(press("AB")){
if(press("A"))ans = "A" , id = "BXY" ;
else ans = "B" , id = "AXY" ;
}
else {
if(press("X"))ans = "X" , id = "ABY" ;
else ans = "Y" , id = "ABX" ;
}
if(N == 1)R ans ;
for(ll i = 1 ; i < N - 1 ; i++){
ll op = press(gen(ans , id)) - i ;
ans += id[(op + 2) % 3] ;
}
if(press(ans + id[0] + ans + id[1]) == N){
if(press(ans + id[0]) == N)ans += id[0] ;
else ans += id[1] ;
}
else ans += id[2] ;
R ans ;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |