제출 #987142

#제출 시각아이디문제언어결과실행 시간메모리
987142LucaIlie콤보 (IOI18_combo)C++17
100 / 100
16 ms1960 KiB
#include "combo.h" #include <iostream> using namespace std; char ch[4] = {'A', 'B', 'X', 'Y' }; char alf[3]; string s, g; string guess_sequence( int n ) { int coins, i, first_letter = -1, j, verific; if( n == 1 ) { for( i = 0; i < 3; i++ ) { s = ch[i]; if( press(s) == 1 ) first_letter = i; } if( first_letter == -1 ) first_letter = 3; s = ch[first_letter]; return s; } g = "AB"; coins = press( g ); if( coins == 0 ) { g = 'X'; coins = press( g ); if( coins == 0 ) first_letter = 3; else first_letter = 2; } else { g = 'A'; coins = press( g ); if( coins == 0 ) first_letter = 1; else first_letter = 0; } //cout << first_letter; j = 0; for( i = 0; i < 4; i++ ) { if( i != first_letter ) { alf[j] = ch[i]; j++; } } s = ch[first_letter]; for( i = 1; i < n - 1; i++ ) { //cout << s << "\n"; g = s + alf[0] + alf[0] + s + alf[0] + alf[1] + s + alf[0] + alf[2] + s + alf[1]; coins = press( g ); if( coins == i + 2 ) s = s + alf[0]; else if( coins == i + 1 ) s = s + alf[1]; else s = s + alf[2]; } for ( i = 0; i < 2; i++ ) { if ( press(s + alf[i] ) == n) { s = s + alf[i]; break; } } if ( s.size() < n ) s = s + alf[2]; return s; }

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

combo.cpp: In function 'std::string guess_sequence(int)':
combo.cpp:66:19: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   66 |     if ( s.size() < n )
      |          ~~~~~~~~~^~~
combo.cpp:10:41: warning: unused variable 'verific' [-Wunused-variable]
   10 |     int coins, i, first_letter = -1, j, verific;
      |                                         ^~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...