제출 #99124

#제출 시각아이디문제언어결과실행 시간메모리
99124JustasLe콤보 (IOI18_combo)C++17
5 / 100
2 ms256 KiB
#include "combo.h"
#include <bits/stdc++.h>
 
using namespace std;
 
string guess_sequence(int N) {
	set<char> X = {'A', 'B', 'X', 'Y'};
	string s = "";
	for (auto it = X.begin(); it != X.end(); it++) {
		int x = press(s + *it);
		if (x != 0) {
			s += *it;
			X.erase(it);
			break; 
		}
	}
	if (s == "") {
		return s;
	}
	int prev = 1;
	bool ok = true;
	string e = "";
	while (ok) {
		ok = false;
		int sz = (int) s.size(), esz = (int) e.size();
		for (auto it = X.begin(); it != X.end(); it++) {
			if (2 * sz - 1 <= N) {
				int x = press(s + e);
				if (x > prev) {
					for (int j = 0; j < x - prev; j++) {
						s += e[j];
					}
					prev = x;
					ok = true;
					break;
				}
			}
			string poss = s + *it;
			int d = N - sz;
			string t = "";
			for (int j = 0; j < d; j++) {
				t += *it;
			}
			int x = press(s + t);
			if (x > prev) {
				for (int j = 0; j < x - prev; j++) {
					e += *it;
					s += *it;
				}
				ok = true;
				prev = x;
				break;
			}
		}
	}
	return s;
}

컴파일 시 표준 에러 (stderr) 메시지

combo.cpp: In function 'std::string guess_sequence(int)':
combo.cpp:25:28: warning: unused variable 'esz' [-Wunused-variable]
   25 |   int sz = (int) s.size(), esz = (int) e.size();
      |                            ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...