제출 #232745

#제출 시각아이디문제언어결과실행 시간메모리
232745jam_xd_콤보 (IOI18_combo)C++17
0 / 100
19 ms200 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 = "A";//respuesta = "A";
    }else{
      respuesta =  "B";//respuesta = "B";
    }
  }else{
    if(press("XY")>0){
      if(press("X") > 0){
        respuesta = "X";//respuesta = "X";
      }else{
        respuesta = "Y";
      }
    }
  }
  if(N==1)return respuesta;//por si acaso :v



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

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

while(encontrados < N){
  /////// para encontrar la ultima:
  if(encontrados == N-1){
    if(press(respuesta + cad[0]) == N)return respuesta + cad[0];
    if(press(respuesta + cad[1]) == N)return respuesta + cad[1];
    if(press(respuesta + cad[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(elprobador) > 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: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++){
      |               ~^~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...