#388. [通信] 编码与解码2
[通信] 编码与解码2
题目描述
这是一道运行两次的通信题:程序会针对同一组测试数据运行两次。第一次运行时,程序需要把数组编码成字符串;第二次运行时,程序会收到这个字符串,需要还原数组。两次运行之间,程序内存中的变量会被清空,因此只能通过传递的字符串通信。
数组元素满足 。
两次运行的时间和内存限制分别计算,每次运行的时间限制为 秒,内存限制为 megabytes。
第一次运行:编码
输入分为三行:
- 第一行为字符串 ,表示当前是第一次运行。
- 第二行为整数 ,表示数组长度,满足 。
- 第三行为 个整数 ,满足 。 请将数组编码为一个仅包含小写英文字母的字符串 ,并输出它。要求 ,输出时不能包含空格。输出后程序结束。
第二次运行:解码
输入分为两行:
- 第一行为字符串 ,表示当前是第二次运行。
- 第二行为第一次运行时输出的字符串 。 请解码 ,并输出原数组长度 和数组 。
如果你不了解通信题,请阅读 https://codeforces.com/blog/entry/147996
题解可以参考 https://codeforces.com/blog/entry/148053
first
5
100 200 300 400 500
skibidi
second
skibidi
5
100 200 300 400 500
样例说明
第一次运行中,输入数组为 。示例中的程序采用某种编码方式,输出 。
第二次运行时,输入会包含 。程序应按照对应的解码规则还原数组,并输出:
5
100 200 300 400 500
样例只展示两次运行之间的信息传递,不代表最优方案。你可以自行设计其他编码方式。
相关
在下列比赛中: