제출 #707553

#제출 시각아이디문제언어결과실행 시간메모리
707553firewater콤보 (IOI18_combo)C++14
5 / 100
1 ms336 KiB
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include "combo.h"
#define ll long long
using namespace std;
string str,p;
char a[10];
int x,w;
std::string guess_sequence(int N) {
  if(press("AB")){
  	if(press("A"))str="A";
  	else str="B";
  }
  else{
  	if(press("X"))str="X";
  	else str="Y";
  }
  if(str[0]!='A')a[++w]='A';
  if(str[0]!='B')a[++w]='B';
  if(str[0]!='X')a[++w]='X';
  if(str[0]!='Y')a[++w]='Y';
  for(int i=2;i<N;++i){
  	p=str+a[1]+a[1]+str+a[1]+a[2]+str+a[1]+a[3]+str+a[2];
  	x=press(p);
  	if(x==str.size()+2)str+=a[1];
  	else if(x==str.size()+1)str+=a[2];
  	else str+=a[3];
  }
  if(press(str+a[1])==N)str+=a[1];
  else if(press(str+a[2])==N)str+=a[2];
  else str+=a[3];
  return str;
}

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

combo.cpp: In function 'std::string guess_sequence(int)':
combo.cpp:27:8: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   27 |    if(x==str.size()+2)str+=a[1];
      |       ~^~~~~~~~~~~~~~
combo.cpp:28:13: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   28 |    else if(x==str.size()+1)str+=a[2];
      |            ~^~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...