제출 #897348

#제출 시각아이디문제언어결과실행 시간메모리
897348honanhphongCombo (IOI18_combo)C++14
0 / 100
33 ms344 KiB
#include <bits/stdc++.h>
#include "combo.h"
#define pb push_back
#define fi first
#define se second
#define faster ios_base::sync_with_stdio(0); cin.tie(0);
using namespace std;
using lli = long long;
using ld = long double;
using pii = pair <int, int>;
mt19937_64 Rand(chrono::steady_clock::now().time_since_epoch().count());
const int maxn = 1e6 + 1000;
const int mod = 1e9 + 7;
int press(string p);



string guess_sequence(int N)
{
    string s = "";
    char start;
    char cs[maxn];
    if (press("AB"))
    {
        if (press("A"))
        {
            s += 'A';
            start = 'A';
        } else
        {
            s += 'A';
            start = 'A';
        }
    } else
    {
        if (press("X") == 1)
        {
            s += 'X';
            start = 'X';
        } else
        {
            s += 'Y';
            start = 'Y';
        }
    }
    if (start == 'A')
    {
        cs[0] = 'B'; cs[1] = 'X'; cs[2] = 'Y';
    } else if (start == 'B')
    {
        cs[0] = 'A'; cs[1] = 'X'; cs[2] = 'Y';
    } else if (start == 'X')
    {
        cs[0] = 'A'; cs[1] = 'B'; cs[2] = 'Y';
    } else if (start == 'Y')
    {
        cs[0] = 'A'; cs[1] = 'B'; cs[2] = 'X';
    }
    while (s.length() < N)
    {
        lli lcm1 = press(s + cs[0]);
        lli lcm2 = press(s + cs[1]);
        lli lcm3 = press(s + cs[2]);
        if (lcm1 == s.length() + 1) s += cs[0];
        else if (lcm2 == s.length() + 1) s += cs[1];
        else if (lcm3 == s.length() + 1) s += cs[2];
    }
    return s;
}


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

combo.cpp: In function 'std::string guess_sequence(int)':
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.length() < N)
      |            ~~~~~~~~~~~^~~
combo.cpp:64:18: warning: comparison of integer expressions of different signedness: 'lli' {aka 'long long int'} and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   64 |         if (lcm1 == s.length() + 1) s += cs[0];
      |             ~~~~~^~~~~~~~~~~~~~~~~
combo.cpp:65:23: warning: comparison of integer expressions of different signedness: 'lli' {aka 'long long int'} and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   65 |         else if (lcm2 == s.length() + 1) s += cs[1];
      |                  ~~~~~^~~~~~~~~~~~~~~~~
combo.cpp:66:23: warning: comparison of integer expressions of different signedness: 'lli' {aka 'long long int'} and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   66 |         else if (lcm3 == s.length() + 1) s += cs[2];
      |                  ~~~~~^~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...