链接http://codeforces.com/problemset/problem/731/A
思路
对两个字母ch1,ch2顺序和逆序走一遍,取较小值
#include<bits/stdc++.h>
char m[]="abcdefghijklmnopqrstuvwxyz";
char c[105];
int make(char ch1,char ch2){
int i,j;
int cnt,cnt1=0,cnt2=0;
for(i=0;i<26;i++){
if(m[i]==ch1){
break;
}
}
// printf("i=%d\n",i);
//shun
for(int j=i;;j++){
if(m[j%26]==ch2){
break;
}
else
cnt1++;
}
//ni
for(int j=i;;){
if(m[j%26]==ch2){
break;
}
else
cnt2++;
j--;
if(j<0){
j=25;
}
}
return cnt1<cnt2?cnt1:cnt2;
}
int main(){
c[0]='a';
scanf("%s",c+1);
//printf("len=%d\n",strlen(c));
int tot=0;
for(int i=0;i<strlen(c)-1;i++)
tot+=make(c[i],c[i+1]);
printf("%d\n",tot);
return 0;
return 0;
}