手機鍵盤 模擬

2021-08-15 09:19:18 字數 657 閱讀 5220

題目描述

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

輸入描述:

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

輸出描述:

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

示例1

輸入bob

www

輸出7

7這麼做有點好

#include 

#include

#include

#include

#include

using

namespace

std;

int hit=;

bool samegroup(char a,char b)

int main()

cout

0;}

暴力求解 模擬4 其他模擬 手機鍵盤

你得記住鍵盤上面的字母排列,其實還挺考驗常識的。首先先做乙個預處理工作。提前計算出每乙個字母需要按鍵的次數。然而一串字元的時間是輸入時間 等待時間,等待時間怎麼算呢?emmm這裡有乙個規律得靠我們自己找到,那就是,在同乙個按鍵上的字母之間按鍵次數之差 他們在26個字母中的位置之差。不等,則說明前後兩...

模擬鍵盤按鍵

模擬全域性按鍵可以用keybd event,sendinput來完成,下面是模擬一次caps lock 按鍵時兩個api函式的實現方法 keybd event keybd event vk capital,0,keyeventf extendedkey 0,0 key down keybd even...

模擬鍵盤按鍵

textbox1.focus sendkeys.send v 模擬鍵盤按鍵ctrl v 貼上 鍵 backspace 或或break caps lock del或delete 或向下鍵 endenter 或 esc help home ins或insert 或向左鍵 num lock page do...