제출 #1007144

#제출 시각아이디문제언어결과실행 시간메모리
1007144andecaandeci콤보 (IOI18_combo)C++17
0 / 100
0 ms344 KiB
using namespace std;
#include "combo.h"
string guess_sequence ( int n ){
    string s = "";

    string temp = "AB";

    int y = press(temp);

    if ( y == 1 || y == 2 ){
        temp = "A";

        y = press ( temp );

        if ( y == 1 ) s = "A";
        else s = "B";
    }
    else{
        temp = "X";
        
        y = press ( temp );

        if ( y == 1 ) s = "X";
        else s = "Y";
    }

    for ( int i = 1; i <= n - 2; i++ ){
        string t1, t2, t3, t4;
        if ( s[0] == 'A' ){
            t1 = s; t1 += 'B';
            t2 = s; t2 += "XX";
            t3 = s; t3 += "XY";
            t4 = s; t4 += "XB";
            
            temp = t1 + t2 + t3 + t4;

            y = press ( temp );

            if ( y == s.length()) s += 'Y';
            else if ( y == s.length() + 1) s += 'B';
            else s += 'X';
        }
        else if ( s[0] == 'B'){
            t1 = s; t1 += 'A';
            t2 = s; t2 += "XX";
            t3 = s; t3 += "XY";
            t4 = s; t4 += "XA";

            temp = t1 + t2 + t3 + t4;

            y = press ( temp );

            if ( y == s.length()) s += 'Y';
            else if ( y == s.length() + 1) s += 'A';
            else s += 'X';
        }
        else if ( s[0] == 'X'){
            t1 = s; t1 += 'A';
            t2 = s; t2 += "BB";
            t3 = s; t3 += "BY";
            t4 = s; t4 += "BA";

            temp = t1 + t2 + t3 + t4;

            y = press ( temp );

            if ( y == s.length()) s +=  'Y';
            if ( y == s.length() + 1) s += 'A';
            if ( y == s.length() + 2 ) s += 'B';
        }
        else if ( s[0] == 'Y' ){
            t1 = s; t1 += 'B';
            t2 = s; t2 += "XB";
            t3 = s; t3 += "XA";
            t4 = s; t4 += "XX";            

            temp = t1 + t2 + t3 + t4;

            y = press ( temp );

            if ( y == s.length() ) s += 'A';
            if ( y == s.length() + 1)  s += 'B';
            if ( y == s.length() + 2 ) s += 'X';
        }
    }

    if ( s[0] == 'A' ){
        temp = "B";

        y = press(temp);

        if ( y == s.length() + 1) s += 'B';
        else{
            temp = "X";

            y = press ( temp );

            if ( y == s.length() + 1) s += 'X';
            else s += 'Y';
        }
    }
    else if ( s[0] == 'B' ){
        temp = "A";

        y = press ( temp );

        if ( y == s.length() + 1) s += 'A';
        else{
            temp = "X";
            
            y = press ( temp );

            if ( y == s.length() + 1) s += 'X';
            else s += 'Y';
        }
    }
    else if ( s[0] == 'X' ){
        temp = "A";

        y = press ( temp );

        if ( y == s.length() + 1) s += 'A';
        else{
            temp = "B";

            y = press ( temp );

            if ( y == s.length() + 1) s += 'B';
            else s += 'Y';
        }
    }
    else if ( s[0] == 'Y'){
        temp = "A";

        y = press ( temp );

        if ( y == s.length() + 1) s += 'A';
        else{
            temp = "B";

            y = press ( temp );

            if ( y == s.length() + 1) s += 'B';
            else s += 'X';
        }
    }

    return s;
}

컴파일 시 표준 에러 (stderr) 메시지

combo.cpp: In function 'std::string guess_sequence(int)':
combo.cpp:39:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   39 |             if ( y == s.length()) s += 'Y';
      |                  ~~^~~~~~~~~~~~~
combo.cpp:40:25: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   40 |             else if ( y == s.length() + 1) s += 'B';
      |                       ~~^~~~~~~~~~~~~~~~~
combo.cpp:53:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   53 |             if ( y == s.length()) s += 'Y';
      |                  ~~^~~~~~~~~~~~~
combo.cpp:54:25: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   54 |             else if ( y == s.length() + 1) s += 'A';
      |                       ~~^~~~~~~~~~~~~~~~~
combo.cpp:67:20: 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 ( y == s.length()) s +=  'Y';
      |                  ~~^~~~~~~~~~~~~
combo.cpp:68:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   68 |             if ( y == s.length() + 1) s += 'A';
      |                  ~~^~~~~~~~~~~~~~~~~
combo.cpp:69:20: 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 ( y == s.length() + 2 ) s += 'B';
      |                  ~~^~~~~~~~~~~~~~~~~
combo.cpp:81:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   81 |             if ( y == s.length() ) s += 'A';
      |                  ~~^~~~~~~~~~~~~
combo.cpp:82:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   82 |             if ( y == s.length() + 1)  s += 'B';
      |                  ~~^~~~~~~~~~~~~~~~~
combo.cpp:83:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   83 |             if ( y == s.length() + 2 ) s += 'X';
      |                  ~~^~~~~~~~~~~~~~~~~
combo.cpp:92:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   92 |         if ( y == s.length() + 1) s += 'B';
      |              ~~^~~~~~~~~~~~~~~~~
combo.cpp:98:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   98 |             if ( y == s.length() + 1) s += 'X';
      |                  ~~^~~~~~~~~~~~~~~~~
combo.cpp:107:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  107 |         if ( y == s.length() + 1) s += 'A';
      |              ~~^~~~~~~~~~~~~~~~~
combo.cpp:113:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  113 |             if ( y == s.length() + 1) s += 'X';
      |                  ~~^~~~~~~~~~~~~~~~~
combo.cpp:122:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  122 |         if ( y == s.length() + 1) s += 'A';
      |              ~~^~~~~~~~~~~~~~~~~
combo.cpp:128:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  128 |             if ( y == s.length() + 1) s += 'B';
      |                  ~~^~~~~~~~~~~~~~~~~
combo.cpp:137:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  137 |         if ( y == s.length() + 1) s += 'A';
      |              ~~^~~~~~~~~~~~~~~~~
combo.cpp:143:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  143 |             if ( y == s.length() + 1) s += 'B';
      |                  ~~^~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...