답안 #313312

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
313312 2020-10-15T17:20:32 Z noob_c0de 콤보 (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";
        }
    }
  //  cout<<ans<<"\n";
    // n-2 next character
    for (int i=1;i<n-1;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];
       // cout<<ans<<"\n";
    }
    // 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:51:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   51 |         if (res==ans.size()) ans+=init[2];
      |             ~~~^~~~~~~~~~~~
combo.cpp:52:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   52 |         else if(res==ans.size()+1) ans+=init[0];
      |                 ~~~^~~~~~~~~~~~~~
combo.cpp:64:12: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   64 |     if (res==ans.size()) ans+=init[2];
      |         ~~~^~~~~~~~~~~~
combo.cpp:69:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   69 |         if (res==ans.size()) ans+=init[1];
      |             ~~~^~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 200 KB Wrong Answer: wrong guess.
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 200 KB Wrong Answer: wrong guess.
2 Halted 0 ms 0 KB -