社区讨论

请求添加翻译

SP9525 CIPHERJ - Cipher参与者 2已保存回复 6

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
6 条
当前快照
1 份
快照标识符
@logkm4z1
此快照首次捕获于
2023/11/02 10:31
2 年前
此快照最后确认于
2023/11/02 10:31
2 年前
查看原帖

题目描述

Bob 和 Alice 开始使用一种全新的编码方案。令人惊讶的是,这不是公共关键字密码系统,他们的编码和解码都是基于一种特殊的密码。他们于 1996 年 2 月 16 日在费城的最后一次会议上确定了他们的密码。他们把密码定为一个含有 nn 个不同整数的数列,a1an(0<ain) a_1 \dots a_n(0< a_i\le n)。解码根据以下原则:把信息写在密钥的下方,使信息中的字符和密钥中的数字相应对齐。在位置i处的消息字符被写入位置ai处,其中ai是密钥中相应的编号。得到的消息以相同的方式继续被编码。重复这个过程 kk 次,第 kk 个编码即是最后答案。
消息的长度总是小于或等于 nn。若消息长度小于nn,请用空格补齐。
请你帮助 Alice 和 Bob 编写一个读取密钥的程序,进行 kk 次编码,产生编码消息。

输入输出格式

输入文件包含多组测试数据。每组测试数据第一行为 n0<n200 n(0<n\le200)。接下来一行为一个含有 nn 个整数的数组 a0<ai<=n,0<i<=na(0 < a_i <=n,0<i<=n),再下面一行包含一个整数 kk 和一个字符串(可能包含空格)。每一行以eol结尾,eol不属于这条信息。每组测试数据结尾有数字’0’的单独行。所有数据都输入完后有数字’0’的单独行。

输出格式:

对于每一部分输出答案。按照输入顺序输出编码后的信息。输出文件中的每个编码信息长度都为 nn。每部分后有一个空行。

回复

6 条回复,欢迎继续交流。

正在加载回复...