智慧型t9英文輸入法
time limit:1s memory limit:1000k
total submit:1556 accepted:534
某款新型手機為了方便使用者,希望開發一種新的英文輸入法.要求在輸入英文的時候輸入法不但能夠做到自動聯想,還能進行自動
糾錯.譬如使用者希望輸入hello這個單詞,他應該輸入43556,但是他不小心輸入了46556.輸入法發現詞庫中找不到任何匹配的單詞,
於是嘗試把6糾正為3,這便是糾錯功能.現在需要你來開發這個輸入法的核心部分.
給出詞庫和使用者的輸入,請你依次給出適合的單詞.
2 a b c
3 d e f
4 g h i
5 j k l
6 m n o
7 p q r s
8 t u v
9 w x y z
注意:1和0沒有對應的字母,但是1和0也有可能出現.
該題含有多組測試資料。
每組資料第一行是乙個整數n(1<=n<=100),表示詞庫中的單詞個數.
接下來n行每行是乙個詞庫中的單詞.單詞只包含大寫字母,長度不會超過10.不會出現兩個相同的單詞.
最後一行是乙個數字串表示使用者的輸入.輸入的長度不會超過10.
對於每組測試資料的輸出,包含四個部分.
首先輸出完全符合輸入的單詞.
然後是根據聯想得到的單詞,即字首部分完全符合輸入的單詞.
接下來輸出糾正乙個按鍵之後完全符合輸入的單詞.
然後是糾正乙個按鍵之後聯想得到的單詞.
每部分如果有多個匹配,則按字典順序輸出.
保證不會出現無解情況.
6bvujmee
mutkoe
btvloe
atvkei
evtjnjhf
ovvlmfaabc
288563
btvloe
bvujmee
mutkoe
ovvlmfaabc#include
#include
struct node
;char codetable[26] =
;struct node *pwords[100];
void outputfit(int n, char* input)
if(*p == 0) puts(pwords[i]->word);}}
void outputsimilar(int n, char* input, int pos)
else if('0' + i != temp[pos])}}
int main()
*q = 0;
}for(i = 0; i < n - 1; i++)else if(cmp == 0)}}
}gets(input);
outputfit(n, input);
count = 0;
p = input;
while(*p)
p++;
}if(count == 0) outputsimilar(n, input, 0);
else if(count == 1)}}
return 0;
}超時了......
T9輸入法的實現
t9輸入法,名字聽起來陌生,可是大家卻經常使用它。可以說t9輸入法是輸入法歷史中的一次革命。至少自t9輸入法開始,輸入法有長足的進步。如圖手機中九個數字鍵。26個英文本母被分配到2至9這8個數字鍵上。以前想輸入英文單詞的時候總是需要連續多次按某個鍵,才能得到目標字母。比如想輸入 hello 就需要按...
乙個轉來的簡單T9輸入法
關於t9輸入法的核心程式 由朋友nix提供 共兩個檔案,乙個是nixinputmethod.h,還有乙個是t9.c 參見附錄。具體輸入法的實現方法如下 1 首先建立乙個對話方塊,然後在其中放入兩個控制項 idc edit1 和 idc word static控制項 2 為了實現在edit中一邊輸入,...
T9手機輸入法的發明者Martin King
martin king是曾經最流行的手機文字輸入法t9的發明者,2010年9月21日因癌症醫治無效去世,享年60歲,他長期抗爭的疾病來自越南戰爭時期美軍試用的橙劑所誘發。他的生命如同隕星短暫地掃過天空,整個世界都從他的才智中受益非淺。martin king最大的貢獻就是為所有手機使用者熟知的t9輸入...