跃氏春秋 2017-06-26 15:33 采纳率: 0%
浏览 726

这个JAVA程序怎么编啊,是不是要用到IO啊

信息解码
问题描述:将输入文件中的加密信息按照解密规则重现信息明文
解密规则:
•该信息解码要求经过加密的信息必须包含两部分,第一部分应该包含的是信息明文中所出现的字符,这部分我们称之为头;第二部分则是经过加密后的信息的正文;
•加 密 信 息 机 制 的 核 心 是 由 如 下 的 一 些 由 '0' 和 '1' 形 成 的 关 键 字 序 列 组 成 :0,00,01,10,000,001,010,011,100,101,110,0000,0001,. . .,1011,1110,00000, . . . 在这个序列中的第 1 个关键字的长度是 1,紧接着的 3 个的关键字的长度是 2,紧接着的 7个关键字的长度是 3,紧接着的 15 个关键字的长度是 4,等等。如果相邻的两个关键字的长度一样,那么第 2 个关键字一定是前一个关键字加 1 而得(基于 2 进制)。一定要注意在这个序列中没有出现任何一个全部由'1'组成的关键字。
•这些关键字将会与头中出现的字符顺序一一映射。也就是说第 1 个关键字(0)将代表头中出现的第 1 个字符,第 2 个关键字(00)将代表头中出现的第 2 个字符,等等。例如,假设信息中的头是: AB#TANCnrtXc,那么 0 就代表 A,00 就代表 B,01 就代表#,10 就代表 T,000 就代表 A,...,110 代表 X,0000 代表 c。
•经过加密后的信息正文仅仅包含'0'和'1',正文中出现的回车换行将被忽略。
•加密后的信息正文是由若干个组组成。
•每个组的前 3 个数字表示的包含在这个组中的关键字的长度。例如,如果前 3 个数字是 010,那么这个组中的剩余部分就只包含长度为 2 的关键字(00,01 或 10)。每个组的结束标志是与该组包含关键字等长的全'1'码。所以例子中的组的结束标志将是 11。
•整个加密后的信息正文的结束标志是 000(因为我们没有一个长度为 0 的关键字)。
我们的解密过程就是将出现在段中的关键字转换成与之对应的头中的字符即可。
输入文件:
•输入文件中将只包含一个数据集;
•每个数据集都是由头和加密后的信息组成。其中,头只占单独的一行,加密后的信息则可能由若干行组成
输出文件:
•按照数据集在输入文件中的出现顺序将解密后的信息逐行输出。
例子:
输入文件:
TNM AEIOU
0010101100011
1010001001110110011
11000
输出文件:
TAN ME

  • 写回答

1条回答 默认 最新

  • 跃氏春秋 2017-06-26 15:28
    关注

    急求,可以奖励 。。。。。。。。

    评论

报告相同问题?

悬赏问题

  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 运筹学排序问题中的在线排序
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥30 求一段fortran代码用IVF编译运行的结果
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥30 python代码,帮调试,帮帮忙吧