Submission #869752

#TimeUsernameProblemLanguageResultExecution timeMemory
869752NinedesuCombo (IOI18_combo)C++14
0 / 100
13 ms1504 KiB
#include "combo.h"
#include<bits/stdc++.h>
using namespace std;

int st;
string t="ABXY";

string guess_sequence(int N) {
  string p = "";
  for (int i=0; i<4; i++) {
    p+=t[i];
    st=i;
    if(i==3){
      if(N==1)return p;
      break;
    }
    int c=press(p);
    if(c){
      if(N==1)return p;
      break;
    }
    p="";
  }
  for(int i=1; i<N-1; i++){
    string q="";
    int x=0;
    if(x==st)x++;
    for(int j=0; j<4; j++){
      if(st==j)continue;
      q+=p+t[x]+t[j];
    }
    x++;
    if(x==st)x++;
    q+=p+t[x];
    x++;
    int c=press(q);
    if(c==p.size()+2)p+=q[p.size()];
    else if(c==p.size()+1)p+=q[q.size()-1];
    else p+=t[x];
  }
  int cnt=0;
  for(int i=0; i<4; i++){
    if(i==st)continue;
    string q=p+t[i];
    if(cnt==2)return q;
    int c=press(q);
    cnt++;
    if(c==N)return q;
  }

  return p;
}

Compilation message (stderr)

combo.cpp: In function 'std::string guess_sequence(int)':
combo.cpp:37:9: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   37 |     if(c==p.size()+2)p+=q[p.size()];
      |        ~^~~~~~~~~~~~
combo.cpp:38:14: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   38 |     else if(c==p.size()+1)p+=q[q.size()-1];
      |             ~^~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...