제출 #439230

#제출 시각아이디문제언어결과실행 시간메모리
439230IdkwhoamiCombo (IOI18_combo)C++17
0 / 100
48 ms480 KiB
#include "bits/stdc++.h"
#include "combo.h"

using namespace std;

string guess_sequence(int N) {
    string ans = "Y";
    vector<string> all = {"A", "B", "X", "Y"};
    
    int x = press("AB");
    if(x == 2){
        ans = "AB";
    }
    else if(x == 1){
        if(press("A")==1)ans = "A";
        else ans = "B";
    }
    else{
        if(press("X") == 1)ans = "X";
        else ans = "Y";
    }

    vector<string> possible;
    for(auto t:all){
        if(t != ans)possible.push_back(t);
    }


    while(ans.size() != N){
        
        if(ans.size() <= N-2){
            string test1 = ans + possible[0] + ans + possible[1] + possible[2] + ans + possible[1] + possible[0] + ans + possible[1] + possible[1];

            int x = press(test1);
            if(x == ans.size()){
                ans = ans + possible[2];
            }
            else if(x == ans.size() + 1){
                ans = ans + possible[0];
            }
            else{
                ans = ans + possible[1];
            }
        }
        else{
            string test1 = ans + possible[0] + ans + possible[1];
 
            int x = press(test1);
            if(x == ans.size()){
                ans = ans + possible[2];
            }
            else{
                x = press(ans + possible[0]);
                if(x == ans.size())ans = ans + possible[1];
                else ans = ans + possible[0];
            }
        }
    }
    return ans;
}

컴파일 시 표준 에러 (stderr) 메시지

combo.cpp: In function 'std::string guess_sequence(int)':
combo.cpp:29:22: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   29 |     while(ans.size() != N){
      |           ~~~~~~~~~~~^~~~
combo.cpp:31:23: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   31 |         if(ans.size() <= N-2){
      |            ~~~~~~~~~~~^~~~~~
combo.cpp:35:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   35 |             if(x == ans.size()){
      |                ~~^~~~~~~~~~~~~
combo.cpp:38:23: 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(x == ans.size() + 1){
      |                     ~~^~~~~~~~~~~~~~~~~
combo.cpp:49:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   49 |             if(x == ans.size()){
      |                ~~^~~~~~~~~~~~~
combo.cpp:54:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   54 |                 if(x == ans.size())ans = ans + possible[1];
      |                    ~~^~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...