Submission #313302

# Submission time Handle Problem Language Result Execution time Memory
313302 2020-10-15T17:12:29 Z noob_c0de Combo (IOI18_combo) C++17
0 / 100
1 ms 200 KB
// author shenron
#include<bits/stdc++.h>
#include "combo.h"
using namespace std;
string ans;
string guess_sequence(int n)
{
    string init;
    // first character
    int q1=press("AB");
    if (q1==1)
    {
        int q2=press("A");
        if (q2==1)
        {
            ans+='A';
            init="BXY";
        }
        else
        {
            ans+='B';
            init="AXY";
        }
    }
    else
    {
        int q2=press("X");
        if (q2==1)
        {
            ans+='X';
            init="ABY";
        }
        else
        {
            ans+='Y';
            init="ABX";
        }
    }
    // n-2 next character
    for (int i=1;i<n;i++)
    {
        string ask=ans+init[0];
        for (int ch=0;ch<3;ch++)
        {
            ask+=ans;
            ask+=init[1];
            ask+=init[ch];
        }
        int res=press(ask);
        if (res==ans.size()) ans+=init[2];
        else if(res==ans.size()+1) ans+=init[0];
        else ans+=init[1];
    }
    // last character
    string ask;
    for (int i=0;i<2;i++)
    {
        ask+=ans;
        ask+=init[i];
    }
    int res=press(ask);
    if (res==ans.size()) ans+=init[2];
    else
    {
        ask=ans+init[0];
        res=press(ask);
        if (res==ans.size()) ans+=init[1];
        else ans+=init[0];
    }
    return(ans);
}


Compilation message

combo.cpp: In function 'std::string guess_sequence(int)':
combo.cpp:50:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   50 |         if (res==ans.size()) ans+=init[2];
      |             ~~~^~~~~~~~~~~~
combo.cpp:51:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   51 |         else if(res==ans.size()+1) ans+=init[0];
      |                 ~~~^~~~~~~~~~~~~~
combo.cpp:62:12: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   62 |     if (res==ans.size()) ans+=init[2];
      |         ~~~^~~~~~~~~~~~
combo.cpp:67:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   67 |         if (res==ans.size()) ans+=init[1];
      |             ~~~^~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 200 KB Wrong Answer: invalid press
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 200 KB Wrong Answer: wrong guess.
2 Halted 0 ms 0 KB -