제출 #778650

#제출 시각아이디문제언어결과실행 시간메모리
778650SilenceCombo (IOI18_combo)C++17
5 / 100
1 ms220 KiB
#include "combo.h"
#include <bits/stdc++.h>
using namespace std;
std::string guess_sequence(int N) {
	string s;
	string ans;
	auto third_subtask = [&](int n){
		string cur = "ABXY";
		string s;
		string ans;
		for (int i = 0;i<4;++i){
			string t;
			t+=cur[i];
			if (press(t) == 1){
				for (int j = 0;j<4;++j){
					if (i == j)continue;
					s+=cur[j];
				}
				ans+=cur[i];
				break;
			}
		}
		//n + 1 + n + 2
		for (int i = 0;i<n - 2;++i){
			string p = ans;
			p+=s[0];
			string t = ans;
			t+=s[1];
			for (int j = 0;j<3;++j){
				t+=s[j];
				p+=t;
				t.pop_back();
			}
			if (press(p) == ans.length() + 1){
				ans+=s[0];
			}	
			else if (press(p) == ans.length()){
				ans+=s[2];
			}
			else{
				ans+=s[1];
			}
		}
		for (int i = 0;i<3;++i){
			string p = ans;
			p+=s[i];
			if (press(p) == n){
				return p;
			}
		}
		return ans;	
	};
	string v = third_subtask(N);
	//cout<<v<<'\n';
	return v;  
}

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

combo.cpp: In lambda function:
combo.cpp:34:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   34 |    if (press(p) == ans.length() + 1){
      |        ~~~~~~~~~^~~~~~~~~~~~~~~~~~~
combo.cpp:37:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   37 |    else if (press(p) == ans.length()){
      |             ~~~~~~~~~^~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...