# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
713264 | europium | 콤보 (IOI18_combo) | C++17 | 0 ms | 0 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
#include <numeric>
#include <cmath>
#include <iterator>
#include <set>
#include <map>
#include <math.h>
#include <iomanip>
#include <unordered_set>
using namespace std;
string guess_sequence(int n) {
vector<string> moves = {"A", "B", "X", "Y"};
string s = "";
for (int i = 0; i < 3; i++){
string guess = moves[i];
if (press(guess) == 1){
s += moves[i];
auto it = find(moves.begin(), moves.end(), guess);
moves.erase(it);
break;
}
}
while (s.size() < n - 1){
string guess = s + moves[0] + s + moves[1] + moves[0] + s + moves[1] + moves[1] + s + moves[1] + moves[2];
int coins = press(guess);
if (coins == s.size()) s += moves[2];
else if (coins == s.size() + 1) s += moves[0];
else if (coins == s.size() + 2) s += moves[1];
}
for (int i = 0; i < 3; i++){
string guess = s + moves[i];
if (press(guess) == s.size() + 1){
s += moves[i];
}
}
return s;
}