제출 #791707

#제출 시각아이디문제언어결과실행 시간메모리
791707pavement콤보 (IOI18_combo)C++17
5 / 100
1 ms208 KiB
#include "combo.h"
#include <bits/stdc++.h>
using namespace std;

#define pb push_back

string guess_sequence(int N) {
	char st;
	int p = press("AB");
	if (p) {
		p = press("A");
		if (p) st = 'A';
		else st = 'B';
	} else {
		p = press("X");
		if (p) st = 'X';
		else st = 'Y';
	}
	vector<char> valid;
	for (char c : {'A', 'B', 'X', 'Y'}) {
		if (c != st) valid.pb(c);
	}
	string s = "";
	s.pb(st);
	for (int i = 1; i + 1 < N; i++) {
		string q = s;
		q.pb(valid[0]);
		q += s;
		q.pb(valid[1]);
		q.pb(valid[0]);
		q += s;
		q.pb(valid[1]);
		q.pb(valid[1]);
		q += s;
		q.pb(valid[1]);
		q.pb(valid[2]);
		int p = press(q);
		if (p == s.size()) s.pb(valid[2]);
		else if (p == (int)s.size() + 1) s.pb(valid[0]);
		else s.pb(valid[1]);
	}
	p = press(s + "A" + s + "B");
	if (p == s.size() + 1) {
		p = press(s + "A");
		if (p == s.size() + 1) s += "A";
		else s += "B";
	} else {
		p = press(s + "X");
		if (p == s.size() + 1) s += "X";
		else s += "Y";
	}
	return s;
}

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

combo.cpp: In function 'std::string guess_sequence(int)':
combo.cpp:38:9: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   38 |   if (p == s.size()) s.pb(valid[2]);
      |       ~~^~~~~~~~~~~
combo.cpp:43:8: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   43 |  if (p == s.size() + 1) {
      |      ~~^~~~~~~~~~~~~~~
combo.cpp:45:9: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   45 |   if (p == s.size() + 1) s += "A";
      |       ~~^~~~~~~~~~~~~~~
combo.cpp:49:9: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   49 |   if (p == s.size() + 1) s += "X";
      |       ~~^~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...