답안 #340273

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
340273 2020-12-27T11:18:53 Z Fysty 콤보 (IOI18_combo) C++14
0 / 100
1 ms 200 KB
#include <bits/stdc++.h>
using namespace std;
int press(string p);
string guess_sequence(int n)
{
    string s="";
    if(n==1)
    {
        if(press("A")) return "A";
        else if(press("B")) return "B";
        else if(press("X")) return "X";
        else return "Y";
    }
    int k=press("AB");
    if(k)
    {
        if(press("AA")) s="A";
        else s="B";
    }
    else
    {
        if(press("XX")) s="X";
        else s="Y";
    }
    if(s=="A")
    {
        while(s.size()<n-1)
        {
            int t=press(s+"B"+s+"XB"+s+"XX"+s+"XY");
            if(t==s.size()+1) s+="B";
            else if(t==s.size()+2) s+="X";
            else s+="Y";
        }
        if(press(s+"B"+s+"X"))
        {
            if(press(s+"B")) s+="B";
            else s+="X";
        }
        else s+="Y";
    }
    if(s=="B")
    {
        while(s.size()<n-1)
        {
            int t=press(s+"A"+s+"XA"+s+"XX"+s+"XY");
            if(t==s.size()+1) s+="A";
            else if(t==s.size()+2) s+="X";
            else s+="Y";
        }
        if(press(s+"A"+s+"X"))
        {
            if(press(s+"A")) s+="A";
            else s+="X";
        }
        else s+="Y";
    }
    if(s=="X")
    {
        while(s.size()<n-1)
        {
            int t=press(s+"B"+s+"AB"+s+"AA"+s+"AY");
            if(t==s.size()+1) s+="B";
            else if(t==s.size()+2) s+="A";
            else s+="Y";
        }
        if(press(s+"B"+s+"A"))
        {
            if(press(s+"B")) s+="B";
            else s+="A";
        }
        else s+="Y";
    }
    if(s=="Y")
    {
        while(s.size()<n-1)
        {
            int t=press(s+"B"+s+"XB"+s+"XX"+s+"XA");
            if(t==s.size()+1) s+="B";
            else if(t==s.size()+2) s+="X";
            else s+="A";
        }
        if(press(s+"B"+s+"X"))
        {
            if(press(s+"B")) s+="B";
            else s+="X";
        }
        else s+="A";
    }
    return s;
}
/*
int main()
{
    int n;
    string s;
    cin>>n>>s;
    cout<<guess_sequence(n);
}
*/

Compilation message

combo.cpp: In function 'std::string guess_sequence(int)':
combo.cpp:27:23: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   27 |         while(s.size()<n-1)
      |               ~~~~~~~~^~~~
combo.cpp:30:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   30 |             if(t==s.size()+1) s+="B";
      |                ~^~~~~~~~~~~~
combo.cpp:31:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   31 |             else if(t==s.size()+2) s+="X";
      |                     ~^~~~~~~~~~~~
combo.cpp:43:23: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   43 |         while(s.size()<n-1)
      |               ~~~~~~~~^~~~
combo.cpp:46:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   46 |             if(t==s.size()+1) s+="A";
      |                ~^~~~~~~~~~~~
combo.cpp:47:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   47 |             else if(t==s.size()+2) s+="X";
      |                     ~^~~~~~~~~~~~
combo.cpp:59:23: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   59 |         while(s.size()<n-1)
      |               ~~~~~~~~^~~~
combo.cpp:62:17: 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(t==s.size()+1) s+="B";
      |                ~^~~~~~~~~~~~
combo.cpp:63:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   63 |             else if(t==s.size()+2) s+="A";
      |                     ~^~~~~~~~~~~~
combo.cpp:75:23: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   75 |         while(s.size()<n-1)
      |               ~~~~~~~~^~~~
combo.cpp:78:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   78 |             if(t==s.size()+1) s+="B";
      |                ~^~~~~~~~~~~~
combo.cpp:79:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   79 |             else if(t==s.size()+2) s+="X";
      |                     ~^~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 200 KB Output is correct
2 Incorrect 0 ms 200 KB Wrong Answer: wrong guess.
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 200 KB Output is correct
2 Correct 0 ms 200 KB Output is correct
3 Correct 0 ms 200 KB Output is correct
4 Correct 1 ms 200 KB Output is correct
5 Correct 1 ms 200 KB Output is correct
6 Incorrect 1 ms 200 KB Wrong Answer: wrong guess.
7 Halted 0 ms 0 KB -