제출 #232735

#제출 시각아이디문제언어결과실행 시간메모리
232735jam_xd_Combo (IOI18_combo)C++17
컴파일 에러
0 ms0 KiB
#include "combo.h"
#include "bits/stdc++.h"

using namespace std;

string guess_sequence(int N) {
  string cad = "ABXY";
  string respuesta = "";



///////////////////////// Encontrar primer caracter.
  if(press("AB") > 0){
    if(press("A") > 0){
      respuesta = respuesta + "A";//respuesta = "A";
    }else{
      respuesta = respuesta + "B";//respuesta = "B";
    }
  }else{
    if(press("XY")>0){
      if(press("X") > 0){
        respuesta = respuesta + "X";//respuesta = "X";
      }else{
        respuesta = respuesta + "Y";
      }
    }
  }
  if(N==1)return respuesta;//por si acaso :v



///////////////////////////////// 
  //Borrar el caracter que no necesito osea el primero :P

for(int i=0;i<cad.size();i++){
  if(cad[i] == respuesta[0]){
    int aux;
    aux = cad[i];
    cad[i] = cad[cad.size()-1];
    cad[cad.size()-1] = aux;
    cad.pop_back();
    break;
  }
}
//////////////////////////////
//Probar xd
int encontrados = 1;

while(respuesta.size() < N){
  /////// para encontrar la ultima:
  if(respuesta.size() == N-1){
    if(press(x[0]) == N)return respuesta + cad[0];
    if(press(x[1]) == N)return respuesta + cad[1];
    if(press(x[2]) == N)return respuesta + cad[2];
  }

  ///////////////////////////////////
  //generador de prefijos

  string elprobador = "";
  

  for(int i=0;i<cad.size();i++){
    elprobador = elprobador + respuesta;
    elprobador = elprobador + cad[0];
    elprobador = elprobador + cad[i];
  }
  elprobador = elprobador + respuesta;
  elprobador = elprobador + cad[1];
  elprobador = elprobador + respuesta[0];
  ///////////////////////////////////////
  ///// Pregunto por los prefijos creados y descarto posibilidades.

  if(press(elprobador) > encontrados + 2){
      respuesta = cad[0];
  }else{
    if(press(elrpobador) > encontrados + 1){
      respuesta = respuesta + cad[1];
    }else{
      respuesta = cad[2];
    }
    encontrados ++; //si o si encontrare almenos uno mas;
  }
  ////////////////////


}

  return respuesta;
}

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

combo.cpp: In function 'std::string guess_sequence(int)':
combo.cpp:35:14: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   35 | for(int i=0;i<cad.size();i++){
      |             ~^~~~~~~~~~~
combo.cpp:49:24: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   49 | while(respuesta.size() < N){
      |       ~~~~~~~~~~~~~~~~~^~~
combo.cpp:51:23: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   51 |   if(respuesta.size() == N-1){
      |      ~~~~~~~~~~~~~~~~~^~~~~~
combo.cpp:52:14: error: 'x' was not declared in this scope
   52 |     if(press(x[0]) == N)return respuesta + cad[0];
      |              ^
combo.cpp:53:14: error: 'x' was not declared in this scope
   53 |     if(press(x[1]) == N)return respuesta + cad[1];
      |              ^
combo.cpp:54:14: error: 'x' was not declared in this scope
   54 |     if(press(x[2]) == N)return respuesta + cad[2];
      |              ^
combo.cpp:63:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   63 |   for(int i=0;i<cad.size();i++){
      |               ~^~~~~~~~~~~
combo.cpp:77:14: error: 'elrpobador' was not declared in this scope; did you mean 'elprobador'?
   77 |     if(press(elrpobador) > encontrados + 1){
      |              ^~~~~~~~~~
      |              elprobador