Submission #600593

#TimeUsernameProblemLanguageResultExecution timeMemory
600593enerelt14Combo (IOI18_combo)C++17
5 / 100
4 ms464 KiB
#include "combo.h"
#include<bits/stdc++.h>
#define pb push_back
using namespace std;
int n;
string guess_sequence(int N){
    string ans;
    n=N;
    string p, x;
    for (int i=0;i<n;i++){
        if (i==0){
            p+='A';
            for (int j=1;j<4*n;j++)p+='B';
            if (press(p)>0){
                p.clear();
                for (int j=0;j<4*n;j++)p+='A';
                if (press(p)>0){
                    ans+='A';
                    x+='B';x+='X';x+='Y';
                }
                else{
                    ans+='B';
                    x+='A';x+='X';x+='Y';
                }
                p.clear();
                continue;
            }
            p.clear();
            for (int j=0;j<4*n;j++)p+='X';
            if (press(p)>0){
                ans+='X';
                x+='B';x+='A';x+='Y';
            }
            else{
                ans+='Y';
                x+='B';x+='X';x+='A';
            }
            p.clear();
            continue;
        }
        if (i==n-1){
            p+=ans;
            for (int j=ans.size();j<4*n;j++)p+=x[0];
            if (press(p)==n){
                ans+=x[0];
                return ans;
            }
            p.clear();
            p+=ans;
            for (int j=ans.size();j<4*n;j++)p+=x[1];
            if (press(p)==n){
                ans+=x[1];
                return ans;
            }
            ans+=x[2];
            return ans;
        }
        if (x.size()!=3)return ans;
        for (int q=0;q<4;q++){
            p+=ans;
            if (q==3){
                p+=x[0];
                for (int j=ans.size()+1;j<n;j++)p+=ans[0];
                continue;
            }
            p+=x[1];
            p+=x[q];
            for (int j=ans.size()+2;j<n;j++)p+=ans[0];
        }
        int y=press(p);
        if (y==ans.size())ans+=x[2];
        if (y==ans.size()+1)ans+=x[0];
        if (y==ans.size()+2)ans+=x[1];
        p.clear();
    }
}

Compilation message (stderr)

combo.cpp: In function 'std::string guess_sequence(int)':
combo.cpp:71:14: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   71 |         if (y==ans.size())ans+=x[2];
      |             ~^~~~~~~~~~~~
combo.cpp:72:14: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   72 |         if (y==ans.size()+1)ans+=x[0];
      |             ~^~~~~~~~~~~~~~
combo.cpp:73:14: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   73 |         if (y==ans.size()+2)ans+=x[1];
      |             ~^~~~~~~~~~~~~~
combo.cpp:9:12: warning: control reaches end of non-void function [-Wreturn-type]
    9 |     string p, x;
      |            ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...