蓝桥杯 9 密码脱落

时间:2022-09-10 11:06:58

蓝桥杯 9 密码脱落

思路:一开始我想的从中间找,结果根本不行,那么长一个串,总不能每个值都找吧,后来,我想着从两边 分别遍历,然后取最小值;
代码:

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
#include<cmath>
using namespace std;
char a[1005];
int main()
{
while(~scanf("%s",a))
{
int n=strlen(a);
int sum=0,num=0;
int i=0,j=n-1;
while(i!=j)
{
if(i<j&&a[i]!=a[j])
{
i++;
sum++;
}
if(a[i]==a[j])
{
i++;
j--;
}
}
i=0,j=n-1;
while(i!=j)
{
if(i<j&&a[i]!=a[j])
{
j--;
num++;
}
if(a[i]==a[j])
{
i++;
j--;
}
}
printf("%d %d\n",sum,num);
int p=sum<num?sum:num;
printf("%d\n",p);

}


return 0;
}