AT49 国際情報オリンピック日本代表プログラミングコンテスト (Welcome to IJPC) 题解
Doveqise
2019-05-18 17:34:39
这个题的翻译有毒吧...先吐槽一下翻译
## 机翻
![](https://cdn.luogu.com.cn/upload/pic/58971.png)
## 洛谷翻译
![](https://cdn.luogu.com.cn/upload/pic/58972.png)
emmm(机翻就敢往上交)
求助日语大佬大概理解了题意
就是实现一个replace()函数
(完全不知道这玩意咋judge)
emmm AtCoder欢乐多
切入主题
一道字符串问题 就是改字符串
看错题面
#### 不写main函数见祖宗
## 以下为题解区
字符串模拟题
就是依次寻找该字符串中的'I''J''P''C',如果没有的话就自己改
然后在操作的时候需要一些蜜汁骚操作
例如QJPCIXYZ这样的,你就应该考虑将'Q'改为'I'获得较小的更改数 而不是将"XYZ"改为"JPC"
机房dalao果然强如斯(
细节见代码
```c++
#include<bits/stdc++.h>
using namespace std;
int N;
char S[1005];
int replace(int N,char *S)
{
int ans=4;
for(int i=0;i<16;i++){
int pos=0,j=0,k=0;
while(j<4&&k<N)
{
pos+=i>>j&1;
if(i>>j&1)
k=find(S+k,S+N,"IJPC"[j])-S;
if(k==N)
break;
j++;k++;
}
if(j==4)
ans=min(ans,4-pos);
}
return ans;
}
signed main()
{
scanf("%d",&N);
cin>>S;
printf("%d\n",replace(N,S));
return 0;
}
```