程序员

CodeForces - 731A

作者:admin 2021-04-14 我要评论

CodeForces - 731A 原题链接 Problem Description Grigoriy, like the hero of one famous comedy film, found a job as a night security guard at the museum....

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

CodeForces - 731A

原题链接

Problem Description:

Grigoriy, like the hero of one famous comedy film, found a job as a night security guard at the museum. At first night he received embosser and was to take stock of the whole exposition.

Embosser is a special devise that allows to “print” the text of a plastic tape. Text is printed sequentially, character by character. The device consists of a wheel with a lowercase English letters written in a circle, static pointer to the current letter and a button that print the chosen letter. At one move it’s allowed to rotate the alphabetic wheel one step clockwise or counterclockwise. Initially, static pointer points to letter ‘a’. Other letters are located as shown on the picture:
在这里插入图片描述

After Grigoriy add new item to the base he has to print its name on the plastic tape and attach it to the corresponding exhibit. It’s not required to return the wheel to its initial position with pointer on the letter ‘a’.

Our hero is afraid that some exhibits may become alive and start to attack him, so he wants to print the names as fast as possible. Help him, for the given string find the minimum number of rotations of the wheel required to print it.

Input:
The only line of input contains the name of some exhibit — the non-empty string consisting of no more than 100 characters. It’s guaranteed that the string consists of only lowercase English letters.

Output:
Print one integer — the minimum number of rotations of the wheel, required to print the name given in the input.
Input
The only line of input contains the name of some exhibit — the non-empty string consisting of no more than 100 characters. It’s guaranteed that the string consists of only lowercase English letters.

Examples:
Input:

zeus

Output:

18

Input:

map

Output:

35

Input:

ares

Output:

34

Note:
在这里插入图片描述
To print the string from the first sample it would be optimal to perform the following sequence of rotations:

from ‘a’ to ‘z’ (1 rotation counterclockwise),
from ‘z’ to ‘e’ (5 clockwise rotations),
from ‘e’ to ‘u’ (10 rotations counterclockwise),
from ‘u’ to ‘s’ (2 counterclockwise rotations).
In total, 1?+?5?+?10?+?2?=?18 rotations are required.

题目大意:
输入一个字符串 然后找字母 最少需要转几次; 顺时针逆时针都可以;

思路
起始位置在‘a’, 然后输入的第一字母减去上一个字母的得数 和26减去这个得数 哪个小选哪个!!!

老规矩 代码附上:

#include <iostream>
#include<cstring>

using namespace std;

char str[100+10];
int main()
{
    int a,b;
    while(cin>>str)
    {
        char ch='a';
        a=strlen(str);

        int d=0,sum=0;
        for(b=0; b<a; b++)
        {
            d=str[b]-ch;//转换为整型
            d=abs(d);//小心负数
            sum+=d<(26-d)?d:(26-d);//作比较 选择距离近的 然后累加
            ch=str[b];//同时更新 ch!!很重要~~~

        }

        cout<<sum<<endl;
    }
    return 0;
}


欢迎各位网友指点~~~

;原文链接:https://blog.csdn.net/weixin_53523248/article/details/115420899

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • 四两拨千斤——你不知道的VScode编码Ty

    四两拨千斤——你不知道的VScode编码Ty

  • 我是如何在 Vue 项目中做代码分割的

    我是如何在 Vue 项目中做代码分割的

  • position:sticky 粘性定位的几种巧妙应

    position:sticky 粘性定位的几种巧妙应

  • 从零到一搭建React组件库

    从零到一搭建React组件库

腾讯云代理商
海外云服务器