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≤400n\leq 400,你可以进行最多 15001500 次询问。只有在你通过了所有版本后才能进行 hack。

本题为交互题。

给定一个正整数 nn。一个 nn 变量的函数 f(x1,…,xn)f(x_1,\ldots,x_n) 被称为“min-max 函数”,当且仅当它可以只用 min⁡\min 和 max⁡\max,并且每个变量 x1,x2,…,xnx_1, x_2, \ldots, x_n 恰好出现一次,且按顺序从左到右嵌套在表达式中构造出来。例如,min⁡(x1,x2,x3)\min(x_1, x_2, x_3) 是一个 33 变量的 min-max 函数,但 max⁡(min⁡(x1,x3),x2)\max(\min(x_1, x_3), x_2) 和 min⁡(max⁡(x1,x2),max⁡(x2,x3))\min(\max(x_1, x_2), \max(x_2, x_3)) 不是。

Bowser 选定了一个 nn 变量的 min-max 函数,并告诉你 nn。此外,你可以向 Bowser 发起如下询问:你给出 nn 个整数 x1,…,xnx_1, \ldots, x_n(1≤xi≤1091 \leq x_i \leq 10^9),他会告诉你 f(x1,…,xn)f(x_1, \ldots, x_n) 的值。

为了逃出他的城堡,你需要在总共不超过 15001500 次询问内,推断出他的这个函数;推断完毕后,为了向 Bowser 证明你已经学会了这个函数,他会给你最多 50005000 组由他选定的 x1,…,xnx_1, \ldots, x_n,你需要输出每一组的 f(x1,…,xn)f(x_1,\ldots,x_n) 的值。

由于 Bowser 的城堡非常安全,实际上他准备了多组函数让你找,总变量数不超过 400400。你询问的总次数不超过 15001500,他也不会询问超过 50005000 次。

输入格式

每个测试点包含多组样例。
第一行包含一个正整数 tt(1≤t≤2001 \leq t \leq 200),表示测试用例的个数。

每组样例的第一行有一个正整数 nn(2≤n≤4002 \leq n \leq 400),表示 min-max 函数的变量个数。

保证所有测试用例的 nn 之和不超过 400400。

读取到每组样例的这一行输入后,交互即开始,你可以进行第一次询问。

输出格式

(本题为交互题,具体交互及输出格式需根据题面中的要求实现)

输入输出样例

  • 输入#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 := \max(x_1, x_2, x_3)。在发起两次询问并收到返回 f(5,4,3)=5f(5,4,3)=5 和 f(1,2,1)=2f(1,2,1)=2 后,解答者已经可以解出函数,并能正确应答 f(3,6,2)=6f(3,6,2)=6 和 f(3,5,7)=7f(3,5,7)=7。

在第二个样例中,Bowser 选定的 min-max 函数为 f:=min⁡(max⁡(x1,x2),max⁡(x3,x4))f := \min(\max(x_1, x_2), \max(x_3, x_4))。在发起两次询问并收到返回 f(1,9,8,7)=8f(1,9,8,7)=8 和 f(5,109,2,3)=3f(5,10^9,2,3)=3 后,解答者已经可以正确应答 f(8,7,6,5)=6f(8,7,6,5)=6。

需要注意的是,样例中的询问并不能唯一确定 min-max 函数。样例仅用于演示交互的工作方式。样例输入输出中的空行仅用于增强可读性,实际输出不需要包含它们。

由 ChatGPT 5 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页