Submission #138252

#TimeUsernameProblemLanguageResultExecution timeMemory
138252LawlietCombo (IOI18_combo)C++14
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> #include "combo.h" using namespace std; char buttons[] = {'A' , 'B' , 'X' , 'Y'}; int N; string S; string remain; int getInd(char a) { for(int g = 0 ; g < 4 ; g++) if(buttons[g] == a) return g; } int press(string p) { printf("-> %s\n",p.c_str()); int a; scanf("%d",&a); return a; } void getFirstButton() { if( press("AB") >= 1 ) { if( press("A") == 1 ) S[0] = 'A'; else S[0] = 'B'; } else { if( press("C") == 1 ) S[0] = 'C'; else S[0] = 'D'; } } string guess_sequence(int n) { N = n; getFirstButton(); for(int h = 0 ; h < 4 ; h++) if(buttons[h] != S[0]) remain = remain + buttons[h]; for(int g = 1 ; g < N ; g++) { int cnt = 0; for(int h = 0 ; h < 2 ; h++) { //printf("S = %s\n",S.c_str()); //S.push_back(remain[h]); if(press(S + remain[h]) == S.size() + 1) { S = S + remain[h]; break; } //S.pop_back(); } if(S.size() == g) S = S + remain[2]; } return S; } /*int main() { int nn; scanf("%d",&nn); cout << guess_sequence( nn ) << endl; }*/

Compilation message (stderr)

combo.cpp: In function 'std::string guess_sequence(int)':
combo.cpp:61:28: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   61 |    if(press(S + remain[h]) == S.size() + 1)
      |       ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
combo.cpp:69:15: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   69 |   if(S.size() == g)
      |      ~~~~~~~~~^~~~
combo.cpp:55:7: warning: unused variable 'cnt' [-Wunused-variable]
   55 |   int cnt = 0;
      |       ^~~
combo.cpp: In function 'int getInd(char)':
combo.cpp:17:1: warning: control reaches end of non-void function [-Wreturn-type]
   17 | }
      | ^
combo.cpp: In function 'int press(std::string)':
combo.cpp:24:7: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   24 |  scanf("%d",&a);
      |  ~~~~~^~~~~~~~~
/usr/bin/ld: /tmp/ccBU5gJ0.o: in function `press(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
grader.cpp:(.text+0x0): multiple definition of `press(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)'; /tmp/cccTAOpY.o:combo.cpp:(.text+0x100): first defined here
collect2: error: ld returned 1 exit status