제출 #1022993

#제출 시각아이디문제언어결과실행 시간메모리
1022993HishamAlshehri콤보 (IOI18_combo)C++17
5 / 100
1 ms412 KiB
#include "combo.h"
#include <bits/stdc++.h>
using namespace std;
string guess_sequence(int N) {
    string s = "";
    string t = "ABXYABXY";
    int c = press("AB");
    if (c == 2)
    {
      s += 'A';
    }
    else if (c == 1) {
      c = press("A");
      if(!c)
        s += 'B';
      else
        s += 'A';
    }
    else
    {
      c = press("Y");
      if (c == 1)
        s += 'Y';
      else
        s += 'X';
    }
    int idx = 0;
    for (int i = 0; i < 4; i++) if(s[0] == t[i]) {idx = i; break;}
    char q1 = t[idx + 1], q2 = t[idx + 2], q3 = t[idx + 3];
    for (int i = 1; i < N - 1; i++)
    {
        c = press(s + q1 + s + q2 + q1 + s + q2 + q2 + s + q2 + q3);
        if (c == s.size()) s += q3;
        else if (c == s.size() + 1) s += q1;
        else s += q2;
    }
    if (press(s + q1) > s.size()) s += q1;
    else if (press(s + q2) > s.size()) s += q2;
    else s += q3;
    // cout << s << "\n";
    return s;
}

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

combo.cpp: In function 'std::string guess_sequence(int)':
combo.cpp:33:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   33 |         if (c == s.size()) s += q3;
      |             ~~^~~~~~~~~~~
combo.cpp:34:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   34 |         else if (c == s.size() + 1) s += q1;
      |                  ~~^~~~~~~~~~~~~~~
combo.cpp:37:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   37 |     if (press(s + q1) > s.size()) s += q1;
      |         ~~~~~~~~~~~~~~^~~~~~~~~~
combo.cpp:38:28: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   38 |     else if (press(s + q2) > s.size()) s += q2;
      |              ~~~~~~~~~~~~~~^~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...