Submission #907506

#TimeUsernameProblemLanguageResultExecution timeMemory
907506Mkswll콤보 (IOI18_combo)C++17
5 / 100
1 ms500 KiB
#include <bits/stdc++.h>
using namespace std;
typedef unsigned int uint;
typedef unsigned long long ull;
typedef long long ll;
typedef long double ld;
typedef pair <int, int> pii;
typedef pair <ll, int> pli;
typedef pair <int, ll> pil;
typedef pair <ll, ll> pll;
typedef pair <ld, ld> pdd;
#define debug(x) cout << '[' << #x << ": " << x << "] "
#define cio ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0)
#define cases int _; cin >> _; while(_--)
#define pb push_back
#define eb emplace_back
#define space << " " <<
#define lb lower_bound
#define ub upper_bound
#define F first
#define S second
#define all(v) v.begin(), v.end()
#define rall(v) v.rbegin(), v.rend()
#define Unique(v) v.erase(unique(all(v)), v.end())
#define mset(x) memset(x, 0, sizeof(x))
#define sflush fflush(stdout)
#define cflush cout.flush()
#define yes cout << "YES\n"
#define no cout << "NO\n"
#define lyes cout << "Yes\n"
#define lno cout << "No\n"
#define nl cout << "\n";
#define binary(len, num) bitset <len> (num)
#define vt vector
#define ar array
#define Mat vt <vt <int> >
#define uid uniform_int_distribution 

template <typename T> istream& operator >> (istream& in, vector<T>& a) {for(auto &x : a) in >> x; return in;};
template <typename T> ostream& operator << (ostream& out, vector<T>& a) {for(auto &x : a) out << x << ' '; return out;};

mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());

int read(){
    int w = 1, c, ret;
    while((c = getchar()) > '9' || c < '0'){
        w = (c == '-' ? -1 : 1);
    }
    ret = c - '0';
    while((c = getchar()) >= '0' && c <= '9'){
        ret = ret * 10 + c - '0';
    }
    return ret * w;
}

int rd(){
	int in;
	cin >> in;
	return in;
}
 
void write(int x){
    if(x < 0){
        putchar('-');
        x = -x;
    }
    if(x > 9){
        write(x / 10);
    }
    putchar(x % 10 + '0');
}

const int MAXN = 2e5 + 5, MAXM = 2e5 + 5, INF = 1e9 + 5, MOD = 1e9 + 7;
const ll LMOD = (ll) 1e18 + 9;
const ll LINF = 1e18 + 5;
const ld ep = 1e-8, Pi = acos(-1.0);

string s;
string ss = "ABXY";


int press(string p);

string guess_sequence(int n){
	string cur = "";
	{
		int res = press("AB");
		if(res){
			if(press("A")) cur = "A";
			else cur = "B";
		}
		else{
			if(press("X")) cur = "X";
			else cur = "Y";
		}
	}
	string t = "";
	for(auto i : ss) if(i != cur[0]) t += i;
	for(int i = 2; i <= n - 1; ++i){
		string temp = cur + t[0] + t[0] + cur + t[0] + t[1] + cur + t[0] + t[2] + cur + t[1];
		int res = press(temp);
		if(res == i + 1) cur += t[0];
		else if(res == i) cur += t[1];
		else cur += t[2];
	}
	if(press(cur + t[0]) == n) cur += t[0];
	else if(press(cur + t[1]) == n) cur += t[1];
	else cur += t[2];
	return cur;
}

void clear(){
    
}

// int main(){
// 	
	// cin >> s;
	// cout << guess_sequence(s.size());
	// return 0;
// }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...