題意:
咕咕東是個貪玩的孩子,有一天,他從上古遺跡中得到了乙個神奇的圓環。這個圓環由字母表組成首尾相接的環,環上有乙個指標,最初指向字母a。咕咕東每次可以順時針或者逆時針旋轉一格。例如,a順時針旋轉到z,逆時針旋轉到b。咕咕東手裡有乙個字串,但是他太笨了,所以他來請求你的幫助,問最少需要轉多少次。
輸入:
輸入只有一行,是乙個字串。
輸出:
輸出最少要轉的次數。
輸入樣例:
zeus
輸出樣例:
18解題思路:
是一道很簡單的貪心問題,貪心策略就是選擇最近的乙個字母。需要寫兩個函式便於使用,char_to_int將字元對應到整數,dis求出兩個字母的距離(取最短的乙個)。依次讀入每乙個字母,先轉化為整數d,再求出到目前字母cur的距離,ans的增量就是這個距離,對目前字母cur進行更新。最後輸出答案即可。
注意事項:
1、題目沒有說明讀入到eof再結束的就是單組資料,此時不需要使用~scanf("%c",&c)或scanf("%c",&c)!=eof的方式,使用while (scanf("%c",&c)&&c!=』\n』)讀入。
總結:
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using
namespace std;
int char_to_int (
char x)
intdis
(int x,
int y)
char c;
int ans=0;
intmain()
cout
}
約瑟夫圓環問題
如下 include include include int main 讓陣列迴圈起來 person n 1 編號為n的下乙個人的編號是1 node 1 while node person node count printf d person node 輸出被殺的人編號 person node pe...
《字母表中對稱位置的字母》
問題描述 判別從鍵盤輸入的乙個字元是不是英文本母 包括大小寫 如果是字母,則輸出它在字母表中對稱位置的字母。例如輸入a 則輸出z,輸入b 則輸出y。若該字元不是英文本母,則報告顯示 it is not a letter.字樣。輸入形式 從鍵盤輸入的乙個字元。輸出形式 如果該輸入字元是英文本母,則輸出...
Python字母轉換問題。
題目要求 你得到乙個可能混合大小寫字母的字串,你的任務是把該字串轉為僅使用小寫字母或者大寫字母,為了盡可能少的改變 如果字串包含的大字母數小於等於小寫字母數,則把字串轉為小寫。如果大寫的數目大於小寫字母數,則把字串轉為全大寫。比如 solve code code solve code code 簡單...