在雅礼和衡水的dalao们打了一场atcoder

然而窝好菜啊……

A - Shrinking

题意:定义一次操作为将长度为n的字符串变成长度n-1的字符串,且变化后第i个字母为变化前第i 或 i+1 个字母,求使整个字符串为同一字母的最少变换次数。

题解:求同一字母的最大间距(包括首尾)的最小值即可。

#include<cstdio>
#include<algorithm>
#define MN 1111
using namespace std;
 
int mmh=1e9;
char s[MN];
int main(){
    scanf("%s",s);
    for (int i='a';i<='z';i++){
        int la=-1,ans=0,j;
        for (j=0;s[j];j++)
        if (s[j]==i){
            if (ans<j-la-1) ans=j-la-1;
            la=j;
        }
        if (ans<j-la-1) ans=j-la-1;
        if (mmh>ans) mmh=ans;
    }
    printf("%d\n",mmh);
}
View Code

相关文章:

  • 2021-08-16
  • 2021-05-30
  • 2021-11-21
  • 2022-01-18
  • 2022-03-01
  • 2022-01-06
  • 2022-02-20
  • 2021-10-31
猜你喜欢
  • 2021-06-17
  • 2021-11-09
  • 2022-03-01
  • 2021-08-19
  • 2021-11-08
相关资源
相似解决方案