제출 #390918

#제출 시각아이디문제언어결과실행 시간메모리
390918Blistering_Barnacles콤보 (IOI18_combo)C++11
100 / 100
53 ms584 KiB
#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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...