Submission #720174

#TimeUsernameProblemLanguageResultExecution timeMemory
720174vjudge1JJOOII 2 (JOI20_ho_t2)C++17
0 / 100
1 ms212 KiB
#include<bits/stdc++.h>
using namespace std;

int n,k;
string s,subj,subo,subi;

int solve(int cnt){
  if(s.size()<k*3)return 1e6;
  if(s.find(subo)<n&&s.find(subo)>=0&&s.find(subj)<n&&s.find(subj)>=0&&s.find(subi)<n&&s.find(subi)>=0)return cnt;
  int ans=1e6;
  char c=s[0];
  s.erase(s.begin());
  ans=min(ans,solve(cnt));
  s=c+s;
  c=s[s.size()-1];
  s.erase(s.size()-1,1);
  ans=min(ans,solve(cnt));
  s+=c;
  for(int i=1; i<s.size()-1; i++){
    string s1,s2;
    for(int j=0; j<i; j++)s1+=s[j];
    for(int j=i+1; j<s.size(); j++)s2+=s[j];
    c=s[i];
    s.erase(s.begin()+i);
    ans=min(ans,solve(cnt+1));
    s=s1+c+s2;
  }
  return ans;
}

int main(){
  ios_base::sync_with_stdio(0),cin.tie(0);
  cin >> n >> k >> s;
  for(int i=1; i<=k; i++){
    subj+="J";
    subo+="O";
    subi+="I";
  }
  cout << solve(0);

  return 0;
}

Compilation message (stderr)

ho_t2.cpp: In function 'int solve(int)':
ho_t2.cpp:8:14: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
    8 |   if(s.size()<k*3)return 1e6;
      |      ~~~~~~~~^~~~
ho_t2.cpp:9:18: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
    9 |   if(s.find(subo)<n&&s.find(subo)>=0&&s.find(subj)<n&&s.find(subj)>=0&&s.find(subi)<n&&s.find(subi)>=0)return cnt;
      |      ~~~~~~~~~~~~^~
ho_t2.cpp:9:51: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
    9 |   if(s.find(subo)<n&&s.find(subo)>=0&&s.find(subj)<n&&s.find(subj)>=0&&s.find(subi)<n&&s.find(subi)>=0)return cnt;
      |                                       ~~~~~~~~~~~~^~
ho_t2.cpp:9:84: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
    9 |   if(s.find(subo)<n&&s.find(subo)>=0&&s.find(subj)<n&&s.find(subj)>=0&&s.find(subi)<n&&s.find(subi)>=0)return cnt;
      |                                                                        ~~~~~~~~~~~~^~
ho_t2.cpp:19:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   19 |   for(int i=1; i<s.size()-1; i++){
      |                ~^~~~~~~~~~~
ho_t2.cpp:22:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   22 |     for(int j=i+1; j<s.size(); j++)s2+=s[j];
      |                    ~^~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...