Doveqise

Doveqise

万事皆虚,诸行皆允

AT49 国際情報オリンピック日本代表プログラミングコンテスト (Welcome to IJPC) 题解

posted on 2019-05-18 17:34:39 | under 题解 |

这个题的翻译有毒吧...先吐槽一下翻译

机翻

洛谷翻译


emmm(机翻就敢往上交)
求助日语大佬大概理解了题意
就是实现一个replace()函数
(完全不知道这玩意咋judge)
emmm AtCoder欢乐多
切入主题
一道字符串问题 就是改字符串
看错题面

不写main函数见祖宗

以下为题解区

字符串模拟题
就是依次寻找该字符串中的'I''J''P''C',如果没有的话就自己改
然后在操作的时候需要一些蜜汁骚操作
例如QJPCIXYZ这样的,你就应该考虑将'Q'改为'I'获得较小的更改数 而不是将"XYZ"改为"JPC"
机房dalao果然强如斯(
细节见代码

#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;
}