九度OJ 1079 手機鍵盤

2021-06-20 07:25:44 字數 1087 閱讀 9453

題目描述:按照手機鍵盤輸入字母的方式,計算所花費的時間

如:a,b,c都在「1」鍵上,輸入a只需要按一次,輸入c需要連續按三次。

如果連續兩個字元不在同乙個按鍵上,則可直接按,如:ad需要按兩下,kz需要按6下

如果連續兩字元在同乙個按鍵上,則兩個按鍵之間需要等一段時間,如ac,在按了a之後,需要等一會兒才能按c。

現在假設每按一次需要花費乙個時間段,等待時間需要花費兩個時間段。

現在給出一串字元,需要計算出它所需要花費的時間。

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

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

樣例輸入:

bob

www

樣例輸出:

7

7

2023年清華大學計算機研究生機試真題

這是乙個略微有些複雜的模擬題,但並不涉及資料結構演算法,因此難度不大。

認真理解九宮格輸入法即可很好解答此題。

每次改寫以前的**總會有新的理解。

#include #include #include typedef struct character //定義字元結構體

character;

void calculate(character *p) //計算每個字元需要按幾下和字元所在的數字鍵

else if(p->c <= 's')

else if(p->c <= 'v')

else if(p->c <= 'z')

} int main()

{ char s[102];

character arr[102];

while(gets(s) != null)

{int sum = 0; //所需按鍵總數清0

int n = strlen(s); //字元總數

int i;

for(i=0; i

九度oj 1079 手機鍵盤

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

九度OJ 1079 手機鍵盤 (模擬)

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

九度OJ 題目1079 手機鍵盤

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