#P11105. [ROI 2023] 解密(数据有误) (Day 1)
[ROI 2023] 解密(数据有误) (Day 1)
Description
帮助 Alesya 和 Boris 设计和实现 BASE23 的加密和解密算法。
在本题中,你的程序需要实现下面两个函数(不需要编写 main 函数):
std::vector<int> Encode(int n, int k, std::vector<int> T){
// 加密过程
return R;
}
std::vector<int> Decode(int n, int k, std::vector<int> R){
// 解密过程
return T;
}
你的 Encode 函数将扮演 Alesya 的角色,对数组进行加密。而 Decode 函数则将扮演 Boris 的角色,通过解密来得到原来的数组。 和 都按照递增顺序排列。
刚开始,交互库会根据该数据点的数据调用你编写的 Encode 函数,根据它的返回值判断该加密算法是否合法。接着,交互库调用 Decode 函数,判断它的返回值是否与原来的数据相同。如果相同,则认为这一份 BASE23 加解密代码是正确的。
交互库会多次调用这两个函数,对应了原题中有多组数据。交互库会先将每组数据的 全部加密,接着再按随机顺序把它们解密。具体的数据范围限制见“说明/提示”部分。
Input Format
使用函数交互,程序不需要进行输入。
Output Format
使用函数交互,程序不需要进行输出。
Hint
交互库调用两个函数的次数(即数据组数)都不超过 。对于每一组数据,。对于每一个测试点,。
原题的加、解密时间限制均为 ,空间限制均为 ,不过由于在洛谷实现通信题的方式特殊,本题由特殊的时空限制。(目前的时空限制可能无法通过本题 qwq)
如果你在本题莫名 CE,你可以尝试换一个语言提交。
当你 UKE 时,查看你的错误提示。如果提示中含有“timeout”,应该是超时了。
交互库编写:
/user/542457
京公网安备 11011102002149号