제출 #1024169

#제출 시각아이디문제언어결과실행 시간메모리
1024169ksu2009en콤보 (IOI18_combo)C++17
5 / 100
1 ms596 KiB
#include <iostream>
#include <vector>
#include <string>
#include <math.h>
#include <cmath>
#include <iomanip>
#include <cstdio>
#include <algorithm>
#include <numeric>
#include <map>
#include <set>
#include <queue>
#include <stack>
#include <deque>
#include <bitset>
#include <cstring>
#include <unordered_map>

using namespace std;
typedef long long ll;

#include "combo.h"

//int press(string p){
//
//    return 0;
//}

string guess_sequence(int n){
    string ans;
    if(press("A"))
        ans = "A";
    else if(press("B"))
        ans = "B";
    else if(press("X"))
        ans = "X";
    else
        ans = "Y";
    
    vector<string> vec, v = {"A", "B", "X", "Y"};
    for(auto i: v)
        if(i != ans)
            vec.push_back(i);
    
    for(int i = 1; i <= n - 2; i++){
        string res = ans + vec[0];
        res += ans + vec[1] + vec[0];
        res += ans + vec[1] + vec[1];
        res += ans + vec[1] + vec[2];
        
        ll c = press(res);
        if(c == ans.size() + 1)
            ans += vec[0];
        else if(c == ans.size() + 2)
            ans += vec[1];
        else
            ans += vec[2];
    }
    
    string res = ans + vec[0];
    if(press(res) == n)
        ans += vec[0];
    else{
        res = ans + vec[1];
        
        if(press(res) == n)
            ans += vec[1];
        else
            ans += vec[2];
    }
    
    return ans;
}

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

combo.cpp: In function 'std::string guess_sequence(int)':
combo.cpp:52:14: warning: comparison of integer expressions of different signedness: 'll' {aka 'long long int'} and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   52 |         if(c == ans.size() + 1)
      |            ~~^~~~~~~~~~~~~~~~~
combo.cpp:54:19: warning: comparison of integer expressions of different signedness: 'll' {aka 'long long int'} and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   54 |         else if(c == ans.size() + 2)
      |                 ~~^~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...