de7fcd307aa733f08dd66ad258c8b155f7b2321d
ctf/IERAE CTF 2024 writeup.md
... | ... | @@ -249,6 +249,13 @@ if __name__ == '__main__': |
249 | 249 | |
250 | 250 | ## derangement |
251 | 251 | |
252 | +``` |
|
253 | +def is_derangement(perm, original): |
|
254 | + return all(p != o for p, o in zip(perm, original)) |
|
255 | +``` |
|
256 | +によって、`deranged`のi文字目と`magic_word`のi文字目と一致しない。 |
|
257 | +つまり、1度でも出現した文字は除外することができる。 |
|
258 | + |
|
252 | 259 | - `candidate_char_set`: ヒント文字列で出現した全ての文字の集合 |
253 | 260 | - `appeared_char_set_dict[i]`: ヒント文字列のi文字目に出現した全ての文字の集合 |
254 | 261 |