제출 #600648

#제출 시각아이디문제언어결과실행 시간메모리
600648enerelt14콤보 (IOI18_combo)C++14
5 / 100
1 ms336 KiB
#include "combo.h"
#include<bits/stdc++.h>
#define pb push_back
using namespace std;
int n;
string guess_sequence(int N){
    string ans;
    n=N;
    string p, x;
    for (int i=0;i<n;i++){
        p.clear();
        if (i==0){
            p="AB";
            if (press(p)>0){
                p.clear();
                p="A";
                if (press(p)>0){
                    ans="A";
                    x="BXY";
                }
                else{
                    ans="B";
                    x="AXY";
                }
                p.clear();
                continue;
            }
            p.clear();
            p="X";
            if (press(p)>0){
                ans="X";
                x="ABY";
            }
            else{
                ans="Y";
                x="ABX";
            }
            p.clear();
            continue;
        }
        if (i==n-1){
            p=ans+x[0];
            if (press(p)==n){
                ans+=x[0];
                return ans;
            }
            p=ans+x[1];
            if (press(p)==n){
                ans+=x[1];
                return ans;
            }
            ans+=x[2];
            return ans;
        }
        for (int q=0;q<4;q++){
            p+=ans;
            if (q==3){
                p+=x[0];
                for (int j=ans.size()+1;j<n;j++)p+=ans[0];
                break;
            }
            p+=x[1];
            p+=x[q];
            for (int j=ans.size()+2;j<n;j++)p+=ans[0];
        }
        int y=press(p);
        if (y==ans.size())ans+=x[2];
        if (y==ans.size()+1)ans+=x[0];
        if (y==ans.size()+2)ans+=x[1];
        p.clear();
    }
}

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

combo.cpp: In function 'std::string guess_sequence(int)':
combo.cpp:67:14: 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==ans.size())ans+=x[2];
      |             ~^~~~~~~~~~~~
combo.cpp:68:14: 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==ans.size()+1)ans+=x[0];
      |             ~^~~~~~~~~~~~~~
combo.cpp:69:14: 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==ans.size()+2)ans+=x[1];
      |             ~^~~~~~~~~~~~~~
combo.cpp:9:12: warning: control reaches end of non-void function [-Wreturn-type]
    9 |     string p, x;
      |            ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...