POJ 2159 解題報告

2021-06-29 15:05:15 字數 798 閱讀 9532

這道題中original中不同的字母會首先對映到別的字母,然後任意排列。所以只需要有沒有這樣的對映存在就好,不必把排列也確定下來。做法是統計每個字母出現的次數,然後將按照從小到大排序,一一對比原排列和加密後的,看是否有不同。如果沒有,說明存在這樣的對映(對比本身就是一種對映)。

thestoryofsnow

2159

accepted

196k

0msc++

1189b

/* 

id: thestor1

lang: c++

task: poj2159

*/#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;

int main()

for (int i = 0; i < original.size(); ++i)

sort(encryptedcount.begin(), encryptedcount.end());

sort(originalcount.begin(), originalcount.end());

bool yes = true;

for (int i = 0; i < 26; ++i) }

if (yes)

else

return 0;

}

pku 2159 解題報告

很難看懂的題,單純地以它的sample去寫就是完全看錯題目了 查詢了網上的解題報告,發現跟密碼學有關,acm需要的知識果然是百科的 關鍵在於用這種加密方法加密後,密文和原文長度相同,字母出現的種類數量相同,每種字母出現的概率 次數 相同。code include iostream include s...

POJ 2159 分組密碼與流密碼

因為既要替換又要排列,而方法卻有很多種,無法明確確定。但是知道明文中一些相同字元出現的次數跟密文出現的次數相同。所以可以根據這一點來進行計算。include include include include include include include include include include...

poj解題報告 1328

不得不說,這題是讓我飽受折磨,畢竟第一次做貪心演算法,而且wa了好多次,幸好有學長的幫助,最終找到了問題所在,是在快排上是問題,double高位不可向int低位轉換,由於一開始強制轉換導致雖然樣例和其他的測試資料過了,但還是wa,現在改完了就對了,附上ac ps 這題通過率是22 真心不簡單 如下 ...