제출 #869767

#제출 시각아이디문제언어결과실행 시간메모리
869767Ninedesu콤보 (IOI18_combo)C++14
100 / 100
14 ms1924 KiB
#include "combo.h" #include<bits/stdc++.h> using namespace std; int st,sti=1; string t="ABXY"; string guess_sequence(int N) { string p = "AB"; if(press(p)){ p="A"; if(press(p))p="A",st=0; else p="B",st=1; } else{ p="X"; if(press(p))p="X",st=2; else p="Y",st=3; } if(N==1)return p; for(int i=1; i<N-1; i++){ string q=""; int x=0; if(x==st)x++; for(int j=0; j<4; j++){ if(st==j)continue; q+=p+t[x]+t[j]; } x++; if(x==st)x++; q+=p+t[x]; x++; if(x==st)x++; int c=press(q); if(c==p.size()+2)p+=q[p.size()]; else if(c==p.size()+1)p+=q[q.size()-1]; else p+=t[x]; } int cnt=0; for(int i=0; i<4; i++){ if(i==st)continue; string q=p+t[i]; if(cnt==2)return q; int c=press(q); cnt++; if(c==N)return q; } return p; }

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

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