QOJ.ac

QOJ

حد الوقت: 10.0 s حد الذاكرة: 256 MB مجموع النقاط: 100

#15986. 维吉尼亚密码分析

الإحصائيات

在本题单中,还有另一个问题(vigenere)要求你实现维吉尼亚密码(Vigenère Cipher)加密算法。这一次,我们将展示该密码的其中一个缺陷。

一个名为“业余破译者运动”(Amateur Codebreakers Movement, ACM)的秘密组织强烈怀疑银行劫匪正计划在近期发动另一次袭击。不幸的是,我们既不知道银行的名字,也不知道确切的日期 and 时间。ACM 能够窃听劫匪与其司机之间的通信,但该通信是使用维吉尼亚密码加密的。

你的任务是尝试破译该密码。你将获得两个很可能出现在原始明文中的单词——即所谓的“已知明文片段”(cribs,此类单词在破译著名的恩尼格玛密码等事件中发挥了重要作用)。

输入格式

(关于维吉尼亚密码的具体定义,请参考 vigenere 问题。)

输入包含多组测试数据。每组测试数据由四行组成:

  • 第一行是一个整数 $K$($1 \le K \le 100$),表示需要考虑的加密密钥的最大长度。
  • 第二行和第三行包含已知明文片段 $W_1$ 和 $W_2$($1 \le K \le \text{length}(W_i) \le 100$)。
  • 第四行是密文 $C$($1 \le \text{length}(C) \le 100\,000$)。

已知明文片段 $W_1, W_2$ 和密文 $C$ 均仅由标准英文字母表中的大写字母 $\{A, B, C, \dots, Z\}$ 组成。 输入以包含一个零的行结束。

输出格式

你的程序必须确定存在多少种不同的明文,它们同时包含给定的两个已知明文片段,并且在使用某个长度为 $Q$($1 \le \text{length}(Q) \le K$)的密钥进行维吉尼亚加密后能够得到给定的密文。

对于每组输入数据,输出一行:

  • 如果恰好存在一种满足所有条件的明文,输出该明文,且不包含多余的空格。
  • 如果存在两种或更多种这样的明文,输出单词 ambiguous
  • 如果不存在这样的明文,输出单词 impossible

样例

输入格式 1

4
BANK
MONEY
FTAGUAVMKILCKPRIJCHRJZIYUAXFNBSLNNXMVDVPXLERWDSL
5
SECOND
PARSEC
SUKCTZHYYES
3
ACM
IBM
JDNCOFBEN
4
ABCD
EFGH
OPQRHKLMN
0

输出格式 1

WEWILLROBTHEBANKANDTAKEALLTHEMONEYTOMORROWATNOON
impossible
ambiguous
EFGHXABCD

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.