제출 #564904

#제출 시각아이디문제언어결과실행 시간메모리
564904heavylightdecomp콤보 (IOI18_combo)C++14
100 / 100
31 ms704 KiB
#include "combo.h"
#include<bits/stdc++.h>
using namespace std;
string g[4];
#define a g[0]
#define b g[1]
#define c g[2]
#define d g[3] 
#define p press
string guess_sequence(int N) {
	a ="A",b = "B", c = "X", d = "Y";
	if(N==1) return p(a)?a:p(b)?b:p(c)?c:d;
	string k;
	int f = p(a+b);
	if(f) k += p(a) ? (swap(a,d),d) : (swap(b,d),d); else k += p(c) ? (swap(c,d),d) : d;
	for(int i=0;i<N-2;i++) k+= (f=p(k+a+k+b+a+k+b+b+k+b+c), f==(k.size()+2)) ? b : (f==(k.size()+1) ? a : c);
	if(p(k+a)>(k.size()))k+=a;else if(p(k+b)>(k.size()))k+=b;else k+=c;
	return k;
}

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

combo.cpp: In function 'std::string guess_sequence(int)':
combo.cpp:16:59: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   16 |  for(int i=0;i<N-2;i++) k+= (f=p(k+a+k+b+a+k+b+b+k+b+c), f==(k.size()+2)) ? b : (f==(k.size()+1) ? a : c);
      |                                                          ~^~~~~~~~~~~~~~
combo.cpp:16:83: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   16 |  for(int i=0;i<N-2;i++) k+= (f=p(k+a+k+b+a+k+b+b+k+b+c), f==(k.size()+2)) ? b : (f==(k.size()+1) ? a : c);
      |                                                                                  ~^~~~~~~~~~~~~~
combo.cpp:17:11: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   17 |  if(p(k+a)>(k.size()))k+=a;else if(p(k+b)>(k.size()))k+=b;else k+=c;
      |           ^
combo.cpp:17:42: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   17 |  if(p(k+a)>(k.size()))k+=a;else if(p(k+b)>(k.size()))k+=b;else k+=c;
      |                                          ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...