题目 20228

乘法破译

查看题解 ↗GitHub ↗如何评测
题号
20228
标签
比赛NOIP
来源
2023 杜瑜皓 CSP-S&NOIP20连测 第 2 套

乘法破译

题目描述 你获得了一张加密的�进制下的乘法表,每个字母代表了一个 0 ∼ � − 1 之间的不 同的整数。下面是一个� = 4 的例子。

× A B C D A CD BB DC BA B BB BB BB BB C DC BB DB BC D BA BB BC BD

这里的 CD 表示�进制下的数字,实际上也就是� ⋅ � + �。上面的乘法表中,我们 带入� = 3, � = 0, � = 2, � = 1 就成立。

现在给你加密的乘法表,希望你能找到每个字符表示的数。

输入格式 第一行,一个整数�。

接下来�行,每行 2�个整数。第�行的 2� − 1 和 2�个数表示�这个字符和�这个字符 的乘积的高位和低位。这里我们用数字 0 ∼ � − 1 表示字符第 1 到�个字符。也就 可以认为样例中的 0,1,2,3 分别表示 ABCD。

输出格式 输出一行,一共�个数字,分别表示数字 0 到� − 1 对应的数字是什么。可以证明, 在题目限制下,一定存在唯一解。

样例输入 1 4 2 3 1 1 3 2 1 0 1 1 1 1 1 1 1 1 3 2 1 1 3 1 1 2 1 0 1 1 1 2 1 3

样例输出 1 3 0 2 1

样例解释 这个样例,和题面中的乘法表一样。

样例输入输出 2 见下发文件。 数据规模 共 10 组数据,

测试点 1,2,3 满足,� ≤ 10。

测试点 4,5 满足,� ≤ 50。

测试点 6,7 满足,� ≤ 500。

对于 100% 的数据,满足 3 ≤ � ≤ 2000,保证乘法表一定合法。

数据下载

题目 20228 的公开数据

正在读取文件列表…

常用命令

题目 20228 的 ROJ 命令

以下命令默认使用全局安装的 ROJ Skill,请在终端中直接执行;如果修改过 AGENT_HOME,请将命令中的 ~/.agents 替换为对应目录。