Submission #1298245

#TimeUsernameProblemLanguageResultExecution timeMemory
1298245tit_manhCombo (IOI18_combo)C++20
10 / 100
16 ms448 KiB
/*
    author : TIT_manh
*/
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
#include <cmath>
#include <iomanip>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <map>
#include <unordered_map>
#include <set>
#include <unordered_set>
#include <queue>
#include <stack>
#include <deque>
#include <bitset>
#include <numeric> 
#include <functional>
#include <cassert>
#include <sstream>
#include <climits> 
#define ll long long
#define FOR(i,l,r) for (int i = l; i <= r; i++)
#define FOD(i,r,l) for (int i = r; i >= l; i--)
#define fi first
#define se second
#define pb push_back
#define endl "\n"
using namespace std;
int n;
char d[4] = {'A', 'B', 'X', 'Y'};
int press(string p);
string guess_sequence(int N) {
    char first;
    string res = "";
    if (press("A") == 1) {
        first = 'A';
        res += 'A';
    }
    else if (press("B") == 1) {
        first = 'B';
        res += 'B';
    }
    else if (press("X") == 1) {
        first = 'X';
        res += 'X';
    }
    else if (press("Y") == 1) {
        first = 'Y';
        res += 'Y';
    }
    if (N == 1) return res;
    FOR(tt,2,N) {
        FOR(i,0,3) if (d[i] != first) {
            res += d[i];
            if (press(res) == tt) break;
            res.erase(res.size() - 1, 1);
        }
    }
    return res;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...