Submission #140248

#TimeUsernameProblemLanguageResultExecution timeMemory
140248Runtime_error_Combo (IOI18_combo)C++14
5 / 100
2 ms284 KiB

#include "combo.h"
#include <bits/stdc++.h>
using namespace std;

string guess_sequence(int N) {
    vector<char> v = {'A','B','X','Y'};

    string ans = "";
    if( press("AB") )
        ans += ( press("A") ? 'A' : 'B' );
    else
        ans += ( press("X") ? 'X' : 'Y');

    if(ans[0] == 'A')
        v.erase( v.begin() + 0 );
    else if(ans[0] == 'B')
        v.erase( v.begin() + 1 );
    else if(ans[0] == 'X')
        v.erase( v.begin() + 2 );
    else
        v.erase( v.begin() + 3 );

    for(int i=1;i<N-1;i++){
        string tmp = ans+v[0] + ans+v[1]+v[0] + ans+v[1]+v[1] + ans+v[1]+v[2];
        int res = press(tmp);
        if( res == ans.size() )
            ans += v[2];
        else if( res == ans.size()+2 )
            ans += v[1];
        else
            ans += v[0];
    }
    if( press( ans+v[0] ) == N )
        ans += v[0];
    else if( press( ans+v[1] ) == N)
        ans += v[1];
    else
        ans += v[2];
    return ans;
}

Compilation message (stderr)

combo.cpp: In function 'std::string guess_sequence(int)':
combo.cpp:27:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   27 |         if( res == ans.size() )
      |             ~~~~^~~~~~~~~~~~~
combo.cpp:29:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   29 |         else if( res == ans.size()+2 )
      |                  ~~~~^~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...