제출 #426623

#제출 시각아이디문제언어결과실행 시간메모리
426623Mazaalai콤보 (IOI18_combo)C++14
100 / 100
52 ms760 KiB
#include "combo.h" #include <bits/stdc++.h> using namespace std; string guess_sequence(int N) { string chars1 = "ABXY", chars, ans = "", p, p1; // first char int val, k; { p = "AB"; val = press(p); //cout << "GUESS: " << p << '\n'; if (val == 2) { ans += p; } else { if (val == 1) p = "A", p1 = "B"; else p = "X", p1 = "Y"; val = press(p); //cout << "GUESS: " << p << '\n'; if (val) ans += p; else ans += p1; } } for (auto el : chars1) { if (el == ans[0]) continue; chars += el; } char x = chars[0], y = chars[1], z = chars[2]; while (ans.size()+2 <= N) { p = ans+x+x+ans+x+y+ans+x+z+ans+y; k = ans.size(); val = press(p); //cout << "GUESS: " << p << '\n'; if (val == k) { ans += z; } else if (val == k+1) { ans += y; } else { ans += x; } } if (ans.size() < N) { p = ans+x; k = ans.size(); val = press(p); //cout << "GUESS: " << p << '\n'; if (val == k+1) { ans += x; } else { p = ans+y; val = press(p); //cout << "GUESS: " << p << '\n'; if (val == k+1) ans+= y; else ans += z; } } return ans; }

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

combo.cpp: In function 'std::string guess_sequence(int)':
combo.cpp:27:25: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   27 |     while (ans.size()+2 <= N) {
      |            ~~~~~~~~~~~~~^~~~
combo.cpp:39:20: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   39 |     if (ans.size() < N) {
      |         ~~~~~~~~~~~^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...