제출 #93324

#제출 시각아이디문제언어결과실행 시간메모리
93324beso123콤보 (IOI18_combo)C++14
5 / 100
2 ms220 KiB
#include <bits/stdc++.h> #include "combo.h" int cnt; using namespace std; string a="ABXY"; /*string pas="YAXA"; int press(string s){ int r=0; cnt++; string b=""; for(int k=0;k<pas.size();k++){ b=b+pas[k]; if(s.find(b)==-1) return r; r++; } return r; }*/ string guess_sequence(int N){ string s=""; string b=""; if(N==3){ int r=1; while(s.size()<N){ for(int k=0;k<a.size();k++){ string b=s+a[k]; if(k==a.size()-1){ s=b; r++; if(r==2){ if(b=="A") a.erase(0,1); if(b=="B") a.erase(1,1); if(b=="X") a.erase(2,1); if(b=="Y") a.erase(3,1); } break; } else if(press(b)==r){ s=b; r++; if(r==2){ if(b=="A") a.erase(0,1); if(b=="B") a.erase(1,1); if(b=="X") a.erase(2,1); if(b=="Y") a.erase(3,1); } break; } } } return s; } else if(press(s+"B")==1){ a.erase(1,1); s=s+"B"; } else{ if(press(s+"A")==1){ a.erase(0,1); s=s+"A"; } else{ if(press(s+"X")==1){ a.erase(2,1); s=s+"X"; } else{ a.erase(3,1); s=s+"Y"; } } } while(s.size()<N-1){ string c=s+a[0]+s+a[1]+a[0]+s+a[1]+a[2]+s+a[1]+a[1]; int ps=press(c); if(ps==s.size()) s+=a[2]; else{ if(ps==s.size()+1) s+=a[0]; else if(ps==s.size()+2) s+=a[1]; } } for(int k=0;k<a.size();k++){ if(k==2){ b=s+a[k]; break; } else{ string i=s+a[k]; if(press(i)==N){ b=s+a[k]; break; } } } s=b; return s; } /*int main(){ string s=guess_sequence(pas.size()); cout<<s; return 0; }*/

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

combo.cpp: In function 'std::string guess_sequence(int)':
combo.cpp:24:15: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   24 | while(s.size()<N){
      |       ~~~~~~~~^~
combo.cpp:25:14: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   25 | for(int k=0;k<a.size();k++){
      |             ~^~~~~~~~~
combo.cpp:27:8: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   27 |    if(k==a.size()-1){
      |       ~^~~~~~~~~~~~
combo.cpp:91:15: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   91 | while(s.size()<N-1){
      |       ~~~~~~~~^~~~
combo.cpp:95:8: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   95 |   if(ps==s.size())
      |      ~~^~~~~~~~~~
combo.cpp:98:8: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   98 |   if(ps==s.size()+1)
      |      ~~^~~~~~~~~~~~
combo.cpp:101:8: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  101 |   if(ps==s.size()+2)
      |      ~~^~~~~~~~~~~~
combo.cpp:105:14: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  105 | for(int k=0;k<a.size();k++){
      |             ~^~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...