답안 #313321

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
313321 2020-10-15T17:31:59 Z noob_c0de 콤보 (IOI18_combo) C++17
5 / 100
1 ms 216 KB
// author shenron
#include<bits/stdc++.h>
#include "combo.h"
using namespace std;
string ans;
/*int press(string p)
{
    cout<<p<<"\n";
    int d;
    cin>>d;
    return(d);
} */
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);
}
/*int main()
{
    int m;
    cin>>m;
    cout<<guess_sequence(m);
    return 0;
}*/


Compilation message

combo.cpp: In function 'std::string guess_sequence(int)':
combo.cpp:58:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   58 |         if (res==ans.size()) ans+=init[2];
      |             ~~~^~~~~~~~~~~~
combo.cpp:59:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   59 |         else if(res==ans.size()+1) ans+=init[0];
      |                 ~~~^~~~~~~~~~~~~~
combo.cpp:71:12: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   71 |     if (res==ans.size()) ans+=init[2];
      |         ~~~^~~~~~~~~~~~
combo.cpp:76:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   76 |         if (res==ans.size()) ans+=init[1];
      |             ~~~^~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 200 KB Output is correct
2 Correct 1 ms 200 KB Output is correct
3 Correct 1 ms 200 KB Output is correct
4 Correct 1 ms 200 KB Output is correct
5 Correct 0 ms 200 KB Output is correct
6 Correct 0 ms 200 KB Output is correct
7 Correct 1 ms 200 KB Output is correct
8 Correct 0 ms 200 KB Output is correct
9 Correct 1 ms 216 KB Output is correct
10 Correct 0 ms 200 KB Output is correct
11 Correct 1 ms 200 KB Output is correct
12 Correct 1 ms 200 KB Output is correct
13 Correct 0 ms 200 KB Output is correct
14 Correct 1 ms 200 KB Output is correct
15 Correct 1 ms 200 KB Output is correct
16 Correct 1 ms 200 KB Output is correct
17 Correct 1 ms 200 KB Output is correct
18 Correct 0 ms 200 KB Output is correct
19 Correct 1 ms 200 KB Output is correct
20 Correct 1 ms 200 KB Output is correct
21 Correct 1 ms 200 KB Output is correct
22 Correct 1 ms 200 KB Output is correct
23 Correct 1 ms 200 KB Output is correct
24 Correct 1 ms 200 KB Output is correct
25 Correct 1 ms 200 KB Output is correct
26 Correct 1 ms 200 KB Output is correct
27 Correct 1 ms 200 KB Output is correct
28 Correct 1 ms 200 KB Output is correct
29 Correct 1 ms 200 KB Output is correct
30 Correct 0 ms 200 KB Output is correct
31 Correct 1 ms 200 KB Output is correct
32 Correct 1 ms 200 KB Output is correct
33 Correct 1 ms 200 KB Output is correct
34 Correct 0 ms 200 KB Output is correct
35 Correct 1 ms 200 KB Output is correct
36 Correct 1 ms 200 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 200 KB Wrong Answer: wrong guess.
2 Halted 0 ms 0 KB -