給定一組字符串,說衝突的字符串編程競賽
ap***
ab*le
a****
ab***
的問題是要找到,給出的字符串和允許的差異數數,一組字符串是否是一致的。
因此,與上述集,答案是「是」,如果我們允許一個單一的不一致字符串(第二個),但「否」如果我們允許任何不一致的字符串。
什麼是最好的算法,什麼是複雜性?
每一個解決方案,我想出要麼需要尋找每一個單個的組合,或者是完全錯誤的。例如,您不能僅僅通過並向字符串添加字符串(將不同的字符定義爲「不兼容」),因爲這樣**,ab廣告就會通過。
的實際問題(從): 問題中號
在2417考古學家發現了一個大集合的重要他 - torical重視20世紀的文本文檔。雖然有許多重複的文件,它是作爲 以及損壞,由於時間很快就明顯發出很大的文本字跡,也有它們之間的一些disagree- 發言:。但是,人們注意到可以使文本組保持一致,即可以通過省略一些(少量)文本來實現文本之間的一致性。例如,文本:
ap***
ab*le
app*e
*p\**e
(其中*表示難以辨認的字符)可以通過刪除第二個文本來保持一致。
輸入將包括套文本的序列。每組將以指定該組中的文本數目的一行以及可被移除的最大文本數量開始。這將是 其次是個別文本,每行一個。每個文本至少包含一個並且不超過250個字符,可以是小寫字母或星號。集合中的所有文本將具有相同的長度 ,集合中不會有超過10,000個文本。組的序列由包含兩個零(0 0)的行 終止。
取決於 ,每個集合的輸出包含一個包含「是」或「否」字樣的行,不管該集合是否可以通過刪除至多指定數量的文本而使其一致。
Sample input
4 1
ap***
ab*le
app*e
*pple
3 1
a
b
c
4 2
fred
ferd
derf
frd*
0 0
Sample output
Yes
No
No
你的問題是什麼?你有什麼嘗試? (這可能會被關閉) – Blastfurnace 2012-08-15 03:13:53