例題4 1 古老的密碼

2021-07-31 11:47:10 字數 309 閱讀 3387

給定兩個長度相同且不超過100 的字串 ,判斷是否能把其中乙個字串的各個字母重排 ,然後對26個字母做乙個一一對映, 使得兩個字串相同。例如: jwpudjstvp 重排

後可以得到wjdupsjpvt ,然後把每個字母對映到到前乙個字母 。 得到victorious。輸入兩個字串 ,輸出yes 或者是 no

分析:既然字母可以重排 ,則每個字母的位置並不重要 ,重要的是每個字母出現的次數。這樣可以先統計出兩個字串中各個字母出現的次數 , 得到兩個陣列。下一步 :只要兩個素組排序之後的結果相同 ,輸入的串就可以通過重排和一一對映變得相同 ,問題核心就是排序。

4 1 古老的密碼(UVa1339 《排序》

古羅馬帝國與各部門有乙個強有力的 系統,包括乙個秘密服務部門。重要的檔案以加密的形式傳送防止竊聽。在那個時代最流行的密碼被稱為替代密碼和置換密碼。例如,應用替代密碼,改變所有字母 a 到 y 字母表中的下乙個字母 注 z 變成 a 如 victorious 得到資訊是 wjdupsjpvt 置換密碼...

ACM 古老的密碼(排序qsort)

古老的密碼 題目描述 給定兩個長度一樣且不超過100的字串,判斷是否能把其中乙個字串的各個字母重排,之後對26個字母做乙個一一對映,使得兩個字串相同 例如,jwpudjstvp重排後可以得到wjdupsjpvt,之後把每個字母對映到它的前面乙個字母,得到victorious,輸入兩個字串,輸出yes...

演算法競賽入門經典 例題4 1

uva1339 ancient cipher 題目意思為判斷明文是否可以經過位置變換以及字母替換得到密文。因為不需要輸出替換方案,只判斷存在性,那就先不考慮搜尋。位置變換不用考慮,因為只要長度一樣,就肯定能逆回去,關鍵是字母替代。可以把明文和密文先進行排序,然後看模式是否相同,比如題目中第一組測試資...