CSP-M1 A - 咕咕东的奇遇

CSP-M1 A - 咕咕东的奇遇

题目描述
咕咕东是个贪玩的孩子,有一天,他从上古遗迹中得到了一个神奇的圆环。这个圆环由字母表组成首尾相接的环,环上有一个指针,最初指向字母a。咕咕东每次可以顺时针或者逆时针旋转一格。例如,a顺时针旋转到z,逆时针旋转到b。咕咕东手里有一个字符串,但是他太笨了,所以他来请求你的帮助,问最少需要转多少次。
加个示意图
输入格式
输入只有一行,是一个字符串。
输出格式
输出最少要转的次数。

样例输入

zeus

样例输出

18

测试数据

数据点 字符串长度
1,2 小于等于10
3,4,5 小于等于100
6,7,8,9,10 小于等于10000

Code

#include<iostream>
using namespace std;
int cmp(char c1,char c2){//绝对值
	if((c1-c2)>0){return (c1-c2);
	}else{return (c2-c1);
	}
} 
int main(){
	char c[100000];
	int a,b;
	cin>>c;
	//cout<<c;
	int i=0;
	int t;
	b=a;
	if(cmp(c[i],'a')>13){//从 a 开始
			a+=26-cmp(c[i],'a');
		}else{
			a+=cmp(c[i],'a');
		}
	while(c[i]<=122&&c[i]>=97){//确保输入a~z
		b=a;
		t=c[i];
		if(cmp(c[i],c[i+1])>13){//距离超过半圈就用26-距离
			a+=26-cmp(c[i],c[i+1]);
		}else{
			a+=cmp(c[i],c[i+1]);
		}
		t=cmp(c[i],c[i+1]);
		i++;
	}
	cout<<b;
}
发布了17 篇原创文章 · 获赞 0 · 访问量 206

猜你喜欢

转载自blog.csdn.net/qq_43324189/article/details/104977353