咕咕东的奇遇
题目描述
咕咕东是个贪玩的孩子,有一天,他从上古遗迹中得到了一个神奇的圆环。这个圆环由字母表组成首尾相接的环,环上有一个指针,最初指向字母a。咕咕东每次可以顺时针或者逆时针旋转一格。例如,a顺时针旋转到z,逆时针旋转到b。咕咕东手里有一个字符串,但是他太笨了,所以他来请求你的帮助,问最少需要转多少次。
输入格式
输入只有一行,是一个字符串。
输出格式
输出最少要转的次数。
样例输入
zeus
样例输出
18
数据点 | 字符串长度 |
---|---|
1,2 | 小于等于10 |
3,4,5 | 小于等于100 |
6,7,8,9,10 | 小于等于10000 |
题目分析
T1很简单,一层for解决。唯一要注意的就是关异步或scanf输入。
代码
#define _CRT_SECURE_NO_WARNINGS
#define _ ios::sync_with_stdio(false);cin.tie(0);cout.tie(0)
#include<iostream>
#include<string>
#include<cmath>
#include<algorithm>
using namespace std;
int main()
{
_;
string str;
cin >> str;
char start = 'a';
int sum = min(abs(str[0] - start), 26 - abs(abs(str[0] - start)));
for (int i = 1; i < str.length(); i++) {
sum+= min(abs(str[i] - str[i-1]), 26 - abs(str[i] - str[i - 1]));
}
cout << sum;
return 0;
}