Submission #303927

#TimeUsernameProblemLanguageResultExecution timeMemory
303927Gilgamesh콤보 (IOI18_combo)C++17
5 / 100
1 ms200 KiB
#include "combo.h"
using namespace std;
#include <string>
#include <vector>
#include <set>

string guess_sequence(int N) {
    string ans = "";
    set<string> strs = {"A", "B", "X", "Y"};
    int ab = press("AB");
    if(ab >= 1){
        int a = press("A");
        if(a == 1){
            ans = "A";
        }
        else ans = "B";
    }
    else{
        int x = press("X");
        if(x == 1){
            ans = "X";
        }
        else ans = "Y";
    }
    strs.erase(ans);
    vector<string> left;
    for(string s : strs){
        left.emplace_back(s);
    }
    string first = ans;
    for(int i = 1; i < N - 1; ++i){
        int cur = press(ans + left[1] + ans + left[2] + left[0] + ans + left[2] + left[1] + ans + left[2] + left[2]);
        if(cur == ans.length()){
            ans += left[0];
        }
        else if(cur == ans.length() + 1){
            ans += left[1];
        }
        else ans += left[2];
    }
    ab = press(ans + "A" + ans + "B");
    if(ab >= N){
        int a = press(ans + "A");
        if(a >= N){
            ans += "A";
        }
        else ans += "B";
    }
    else{
        int x = press(ans + "X");
        if(x >= N){
            ans += "X";
        }
        else ans += "Y";
    }
    return ans;
}

Compilation message (stderr)

combo.cpp: In function 'std::string guess_sequence(int)':
combo.cpp:33:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   33 |         if(cur == ans.length()){
      |            ~~~~^~~~~~~~~~~~~~~
combo.cpp:36:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   36 |         else if(cur == ans.length() + 1){
      |                 ~~~~^~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...