在雅礼和衡水的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); }