제출 #869757

#제출 시각아이디문제언어결과실행 시간메모리
869757Ninedesu콤보 (IOI18_combo)C++14
97 / 100
14 ms1764 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 = "ABX"; int c=press(p); if(c==3){ st=0; sti=3; if(N==3)return p; } else if(c==2){ sti=2; p="AB"; c=press(p); if(c==2)st=0; else{ st=1; p="BX"; } if(N==2)return p; } else if(c==1){ p="AB"; c=press(p); if(c==1){ p="A"; c=press(p); if(c==1)st=0; else{ p="B"; st=1; } } else{ p="X"; st=2; } } else{ p="Y"; st=3; } if(N==1)return p; for(int i=sti; 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++; 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; c=press(q); cnt++; if(c==N)return q; } return p; }

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

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