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