Submission #869223

#TimeUsernameProblemLanguageResultExecution timeMemory
869223NinedesuCombo (IOI18_combo)C++14
0 / 100
1 ms500 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];
    int c=press(p);
    if(c){
      st=i;
      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 p+t[i];
    int c=press(q);
    cnt++;
    if(c==N)return p+t[i];
  }

  return p;
}

Compilation message (stderr)

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