CF2207H3.Bowser's Castle (Hard Version)
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Final Boss Phase 2 (Lava) / Giant Bowser — Shiho Fujii, Ryo Nagamatsu, New Super Mario Bros. Wii

本题为该问题的难度加强版。不同版本的区别在于,本题中 n≤400,你可以进行最多 1500 次询问。只有在你通过了所有版本后才能进行 hack。
本题为交互题。
给定一个正整数 n。一个 n 变量的函数 f(x1,…,xn) 被称为“min-max 函数”,当且仅当它可以只用 min 和 max,并且每个变量 x1,x2,…,xn 恰好出现一次,且按顺序从左到右嵌套在表达式中构造出来。例如,min(x1,x2,x3) 是一个 3 变量的 min-max 函数,但 max(min(x1,x3),x2) 和 min(max(x1,x2),max(x2,x3)) 不是。
Bowser 选定了一个 n 变量的 min-max 函数,并告诉你 n。此外,你可以向 Bowser 发起如下询问:你给出 n 个整数 x1,…,xn(1≤xi≤109),他会告诉你 f(x1,…,xn) 的值。
为了逃出他的城堡,你需要在总共不超过 1500 次询问内,推断出他的这个函数;推断完毕后,为了向 Bowser 证明你已经学会了这个函数,他会给你最多 5000 组由他选定的 x1,…,xn,你需要输出每一组的 f(x1,…,xn) 的值。
由于 Bowser 的城堡非常安全,实际上他准备了多组函数让你找,总变量数不超过 400。你询问的总次数不超过 1500,他也不会询问超过 5000 次。
输入格式
每个测试点包含多组样例。
第一行包含一个正整数 t(1≤t≤200),表示测试用例的个数。
每组样例的第一行有一个正整数 n(2≤n≤400),表示 min-max 函数的变量个数。
保证所有测试用例的 n 之和不超过 400。
读取到每组样例的这一行输入后,交互即开始,你可以进行第一次询问。
输出格式
(本题为交互题,具体交互及输出格式需根据题面中的要求实现)
输入输出样例
输入#1
2 3 5 2 3 6 2 3 5 7 0 4 8 3 8 7 6 5 0
输出#1
? 5 4 3 ? 1 2 1 ! 6 7 ? 1 9 8 7 ? 5 1000000000 2 3 ! 6
说明/提示
在第一个样例中,Bowser 选定的 min-max 函数为 f:=max(x1,x2,x3)。在发起两次询问并收到返回 f(5,4,3)=5 和 f(1,2,1)=2 后,解答者已经可以解出函数,并能正确应答 f(3,6,2)=6 和 f(3,5,7)=7。
在第二个样例中,Bowser 选定的 min-max 函数为 f:=min(max(x1,x2),max(x3,x4))。在发起两次询问并收到返回 f(1,9,8,7)=8 和 f(5,109,2,3)=3 后,解答者已经可以正确应答 f(8,7,6,5)=6。
需要注意的是,样例中的询问并不能唯一确定 min-max 函数。样例仅用于演示交互的工作方式。样例输入输出中的空行仅用于增强可读性,实际输出不需要包含它们。
由 ChatGPT 5 翻译
输入解题思路,AI测评打分。不知道怎么写?