题目:https://vpn.bupt.edu.cn/http/10.105.242.80/problem/p/90/
题解:
本来想将字符转换成数字再求平均再计算步数,但是计算出来的平均数没有考虑z->a这种计数步数的逻辑,所以还是乖乖暴力。
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n;
string st;
int a[1005];
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>st;
int s=0,mi,mii=100000000,jl;
int len=st.length();
for(int j=0;j<len;j++) a[j]=st[j]-'a';
for(int k=0;k<=25;k++)
{
s=0;
for(int j=0;j<len;j++)
{
mi=min(abs(k-a[j]),k+26-a[j]);
mi=min(mi,a[j]+26-k);
s+=mi;
}
if(s<mii) mii=s;
}
cout<<mii<<endl;
}
return 0;
}