計蒜客 搜狗輸入法的分詞演算法(模擬 字串)

2021-07-10 20:23:36 字數 1277 閱讀 9607

搜狗輸入法最近的使用者輸入中出現了一種新的輸入模式,形如 「0k1234567」,搜狗的工程師發現這一模式後了解到,這是一種新被提出的對於十五進製數字的標記模式,其中 「0k」 是標記進製為15的字首標記,之後的部分 「1234567」 是實際的十五進製的數字串。

在發現這一標記模式後,搜狗的工程師開始嘗試在已有的分詞演算法上進一步加入對於十五進製數字串的處理,把網頁上的這種形式的 15 進製數正確地提取出來。我們知道,標記十五進製的 「0k」 中 k 必須是小寫,數字 0 到 14 在這套標記模式下會被依次表示為:0k0, 0k1, ..., 0k9, 0ka, 0kb, 0kc, 0kd, 0ke。也就是說 15 進製數字中只會出現 0-9、k 和 a-e。

值得注意的是,數字表示中不能有多餘的 0,比如 0k05 是不能被當做乙個十五進製數字的。另外,作為一種約定,當出現 「0k90k8」 時,只有 0k90 是符合期望的十五進製數字,即總是從左至右依次提取出最長的十五進製數字。如果希望表達 0k9 和 0k8 這兩個數字的連寫情況時,則會被寫成 「0k9'0k8」 這一的形式(單引號代表其他任意非數字字元)。

搜狗的工程師希望將使用者輸入中符合上述要求的所有十五進製數依次輸出。你能幫他實現麼?

輸入格式

輸入一行字串 str (1 ≤ |str| ≤ 106),表示搜狗工程師得到的使用者輸入。使用者輸入中的字元一定是數字 (0 - 9) 或大小寫英文本母 (a - z, a - z)。

輸出格式

輸出包括若干行,每行輸出乙個提取出的十五進製數(形式如同:0k1234),分別對應輸入字串中含有的若干個符合標記模式的十五進製數字;輸出時,請以數字在原字串中的順序依次輸出。

輸入:

sjfjfhua0ka0000lmnhdhahdfhggdjg90k10k110k120kf

輸出:

0ka0000

0k110

1.如果0k後面不滿足要求的話,就不輸出。

2.如果0k後面的字元為'0',則直接輸出"0k0"。

3.如果0k後面的字元不是0,在所要求的範圍內,那就輸出這個字元,直到不滿足所要求字元break。

#include using namespace std;  

char str[1000005];

bool check(char c)

int main()

if(flag)

i += 2;

printf("\n");

} }

} return 0;

}

計算客 搜狗輸入法

搜狗輸入法最近的使用者輸入中出現了一種新的輸入模式,形如 0k1234567 搜狗的工程師發現這一模式後了解到,這是一種新被提出的對於十五進製數字的標記模式,其中 0k 是標記進製為15的字首標記,之後的部分 1234567 是實際的十五進製的數字串。在發現這一標記模式後,搜狗的工程師開始嘗試在已有...

恐怖的搜狗輸入法

人們注意到了gmail的可怕,因為,google說你的gmail的內容我是可以看到的,我是可以搜尋到的 但是,我保證,我會用自動的程式來處理這些內容,我不會允許人工的看 但是又有多少人注意到搜狗的可怕呢?搜狗輸入法很好用,以至於成為裝機時必備的工具 有人知道它恐怖的地方嗎?它會定時的更新,告訴你更新...

如何設定word的預設輸入法 搜狗輸入法

可開word時 預設的是微軟的輸入法 把微軟輸入法刪了 預設的成了英文了 怎麼改成搜狗啊 大家是不是有這個困惑呢 其實這個事情很好解決 只需簡單幾步就可以把word的預設輸入法改成你想要的 我用的是office2010 2007的設定基本一致 我用的輸入法是搜狗拼音 所以這裡就以它為例 首先 要把系...