190510 手機鍵盤

2021-09-22 02:03:22 字數 834 閱讀 8378

題目描述

按照手機鍵盤輸入字母的方式,計算所花費的時間 如:a,b,c都在「1」鍵上,輸入a只需要按一次,輸入c需要連續按三次。 如果連續兩個字元不在同乙個按鍵上,則可直接按,如:ad需要按兩下,kz需要按6下 如果連續兩字元在同乙個按鍵上,則兩個按鍵之間需要等一段時間,如ac,在按了a之後,需要等一會兒才能按c。 現在假設每按一次需要花費乙個時間段,等待時間需要花費兩個時間段。 現在給出一串字元,需要計算出它所需要花費的時間。

輸入描述:

乙個長度不大於100的字串,其中只有手機按鍵上有的小寫字母

輸出描述:

輸入可能包括多組資料,對於每組資料,輸出按出input所給字串所需要的時間

示例1

輸入

bobwww

輸出77

思路:自己想了很久,什麼vector二位陣列啊 乙個個判斷是哪個字母啊,不僅方法繁瑣還把自己繞暈了。後來看到乙個大佬的思路簡直拍案叫絕:

#include #include using namespace std;

int main()

; string str;

int count;

while(cin>>str){

count=key[str[0]-'a'];

for(int i=1;i知識點:

reference:

九度OJ 1079 手機鍵盤

題目描述 按照手機鍵盤輸入字母的方式,計算所花費的時間 如 a,b,c都在 1 鍵上,輸入a只需要按一次,輸入c需要連續按三次。如果連續兩個字元不在同乙個按鍵上,則可直接按,如 ad需要按兩下,kz需要按6下 如果連續兩字元在同乙個按鍵上,則兩個按鍵之間需要等一段時間,如ac,在按了a之後,需要等一...

九度oj 1079 手機鍵盤

時間限制 1 秒 記憶體限制 32 兆 特殊判題 否 提交 2235 解決 1207 題目描述 按照手機鍵盤輸入字母的方式,計算所花費的時間 如 a,b,c都在 1 鍵上,輸入a只需要按一次,輸入c需要連續按三次。如果連續兩個字元不在同乙個按鍵上,則可直接按,如 ad需要按兩下,kz需要按6下 如果...

九度OJ 題目1079 手機鍵盤

一.題目描述 按照手機鍵盤輸入字母的方式,計算所花費的時間 如 a,b,c都在 1 鍵上,輸入a只需要按一次,輸入c需要連續按三次。如果連續兩個字元不在同乙個按鍵上,則可直接按,如 ad需要按兩下,kz需要按6下 如果連續兩字元在同乙個按鍵上,則兩個按鍵之間需要等一段時間,如ac,在按了a之後,需要...