交互,有 NN 把一一对应的锁和钥匙,你的任务是找出这个 hidden bijection。

在每一轮操作中,假设当前还有 mm 把未打开的锁。你需要 pay a cost of mm,选择一个由 mm 把剩余钥匙组成的 permutation pp,表示你将用钥匙 pip_i 去尝试打开锁 ii。然后你会同时尝试开锁,jury 会告诉你哪些锁成功打开了,哪些没有。被打开的锁此后将一直保持打开状态,无需参与后续的尝试。

交互器是自适应的,你的任务是设计一种策略,打开所有的锁,且使得在最坏情况下的总 cost 最小。

N1000N \le 1000。设在最坏情况下的总 cost 为 MM,你的询问次数不得超过 MM