loj#P6571. fast and powerful
fast and powerful
题目描述
请注意,本题为非传统题,你不应该期望在此题得到满分,根据解的优劣你将得到小于 100 的一个分值。
zzq 正在开发一种新的专用 CPU,这块 CPU 可以在 cache 中存储无限个变量。变量可以通过它的标识符:一个长度不超过 的由小写字母和数字组成的非空字符串进行存取。一个未赋值过的变量的值可能是任意的。
这块 CPU 上需要支持一个特殊指令,,它可以对于一个给定的变量 ,求出它的 次幂并赋值到变量 ,其中 是客户选定的一个整数。
由于 CPU 还在开发阶段,目前它只支持两个指令: 和 ,分别可以把一个变量赋值为两个变量相乘的结果、把一个变量赋值为一个变量的值。
这两个指令的使用方法也非常简单: 表示把变量 赋值为 , 表示把变量 赋值为 。
当然,变量存储的不一定是整数,但是乘法一定满足交换律和结合律。此外,乘法运算格外地慢,所以 zzq 希望尽量减少乘法运算的使用。你能帮助他实现 吗?
计分方式:对于每一个测试点中给定的 ,若你没有正确实现 ,得 0 分,否则设你用了 次乘法运算,你在该测试点上的得分将为该测试点所属子任务的满分的 倍。一个子任务的得分为测试点得分的最小值。
输入格式
一行一个正整数 。
输出格式
一行一个形如 和 的指令,不超过 行。
5
set x1 input
mul x2 x1 x1
mul x3 x1 x2
mul x5 x3 x2
set output x5
数据范围与提示
共 个子任务,每个子任务 个测试点。
子任务 , 分。 且数据包含所有可能的 。
子任务 , 分。 且数据在该数据范围内随机生成。
子任务 , 分。 且数据在该数据范围内随机生成。
子任务 , 分。 且数据在该数据范围内随机生成。
子任务 , 分。 且数据在该数据范围内随机生成。