제출 #1272799

#제출 시각아이디문제언어결과실행 시간메모리
1272799arkanefury콤보 (IOI18_combo)C++20
0 / 100
8 ms472 KiB
#include "combo.h" #include <bits/stdc++.h> #define pb push_back #define F first #define S second #define sz size() #define FOR(x, n, m, d) for(int x = n; x <= m; x += d) #define nikita ios_base::sync_with_stdio(0), cin.tie(0); using namespace std; string guess_sequence(int N) { string p = "", S = "", str; int cnt; cnt = press("AB"); char st; if(!cnt){ cnt = press("X"); if(cnt)st = 'X'; else st = 'Y'; } else{ cnt = press("A"); if(cnt)st = 'A'; else st = 'B'; } p += st; if(N == 1){ return p; } cnt = press(p + 'A' + p + 'B'); if(cnt > 1){ cnt = press(p + 'A'); if(cnt > 1)p += 'A'; else p += 'B'; } else{ cnt = press(p + 'X'); if(cnt > 1)p += 'X'; else p += 'Y'; } if(N == 2){ return p; } FOR(i, 3, N, 1){ str = p; char sk = str[str.sz-1]; char sp1, sp2; if(st != 'A' && sk != 'A')sp1 = 'A'; if(st != 'B' && sk != 'B')sp1 = 'B'; if(st != 'X' && sk != 'X')sp1 = 'X'; if(st != 'Y' && sk != 'Y')sp1 = 'Y'; if(st != 'A' && sk != 'A' && sp1 != 'A')sp2 = 'A'; if(st != 'B' && sk != 'B' && sp1 != 'B')sp2 = 'B'; if(st != 'X' && sk != 'X' && sp1 != 'X')sp2 = 'X'; if(st != 'Y' && sk != 'Y' && sp1 != 'Y')sp2 = 'Y'; str += sp1; str += st + p + sp2 + sp2; str += st + p + sp2 + sp1; str += st + p + sp2 + sk; cnt = press(str); if(cnt == p.sz + 2)p += sp2; else p += sp1; } return p; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...