제출 #670695

#제출 시각아이디문제언어결과실행 시간메모리
670695Essa2006콤보 (IOI18_combo)C++14
컴파일 에러
0 ms0 KiB
#include<bits/stdc++.h> using namespace std; #define ll long long #define endl '\n' #define FF first #define SS second #define all(a) a.begin(), a.end() #define mod (ll)(1000000007) string s="XYYAA"; string ans=""; int press(string p); int press(string p){ int m=p.size(); int mx=0, cur=0; for(int i=0;i<m;i++){ if(cur<s.size() && p[i]==s[cur]) cur++, mx=max(mx, cur); else cur=0; } return mx; } string guess_sequence(int n){ string a="ABXY"; char c; if(press("AB")){ if(press("A")) ans.push_back('A'), c='A'; else ans.push_back('B'), c='B'; } else{ if(press("X")) ans.push_back('X'), c='X'; else ans.push_back('Y'), c='Y'; } string b=a; a=""; for(int i=0;i<4;i++){ if(b[i]!=c) a.push_back(b[i]); } c=a[0]; bool include_it=0, h=1; for(int i=1;i<n;i++){ if(h){ for(int j=0;j<3;j++){ string k=ans+a[j]+c; int pr=press(k); if(pr>=i+1){ ans.push_back(a[j]); if(pr==i+1) include_it=0; else include_it=1; h=0; break; } } } else{ if(include_it){ ans.push_back(c); h=1; } else{ string k=ans+a[1]+c; int pr=press(k); if(pr>=i+1){ ans.push_back(a[1]); if(pr==i+1) include_it=0; else include_it=1; } else{ ans.push_back(a[2]); h=1; } } } } return ans; } int main(){ ios_base::sync_with_stdio(0);cin.tie(0); int n=s.size(); cout<<guess_sequence(n); }

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

combo.cpp: In function 'int press(std::string)':
combo.cpp:16:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   16 |         if(cur<s.size() && p[i]==s[cur])
      |            ~~~^~~~~~~~~
/usr/bin/ld: /tmp/cczTOknF.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/cc7Orc7F.o:combo.cpp:(.text+0xc0): first defined here
/usr/bin/ld: /tmp/cczTOknF.o: in function `main':
grader.cpp:(.text.startup+0x0): multiple definition of `main'; /tmp/cc7Orc7F.o:combo.cpp:(.text.startup+0xc0): first defined here
collect2: error: ld returned 1 exit status