#dwacon2018prelimse. [dwacon2018_prelims_e]ニワンゴくんの家探し
[dwacon2018_prelims_e]ニワンゴくんの家探し
问题描述
这是一个交互式问题。
dwango公司员工的"尼万君"住在一棵有 个顶点的树上。这棵树的每个顶点都有从 到 的编号。这棵树的第 条边是连接顶点 和顶点 的双向长度为 的边。"尼万君"知道 每个顶点的度数都不超过 。
"尼万君"的家位于这棵树的某个顶点,但他忘记了家在哪里。
"尼万君"希望通过他自己编写的程序最多进行 次询问,以确定家所在的顶点。当将 个顶点的编号 传递给程序时,会显示距离较近的顶点的编号。然而,如果两个顶点与家所在的顶点的距离相等,将显示 0
。
约束条件
- 给定的图是一棵树
- 每个顶点的度数都不超过
部分分
- 如果在每个顶点的度数都不超过 的数据集上给出正确答案,将获得 分。
输入输出
首先,从标准输入读入以下格式的输入:
然后,以以下格式输出问题:
?
其中, 必须是 到 之间的整数。然后,问题的答案以以下格式从标准输入给出:
其中, 是 中的一个。每个值表示以下情况:
- : 和 中更接近家所在的顶点的是
- : 和 中更接近家所在的顶点的是
- : 和 与家所在的顶点的距离相等
最后,以以下格式输出答案:
!
其中, 必须是家所在的顶点。
评判
- 在输出之后,请刷新标准输出。 如果不遵守此规则,可能会导致超时错误。
- 在输出答案后,请立即结束程序。如果不遵守此规则,则评判行为未定义。
- 未定义输出答案错误时的行为(不一定是
WA
)。
示例
这是在下面的树中,如果尼万君的家位于顶点 的情况下的输入输出示例。
输入
输出
6 14
1 2
5 2
3 1
3 6
1 4
? 4 5
4
? 1 6
0
? 6 5
6
! 3
- 在顶点 中,离顶点 更近的是顶点 ,因此显示 。
- 顶点 与顶点 的距离相等,因此显示 。
- 在顶点 中,离顶点 更近的是顶点 ,因此显示 。
- 答案回答家所在的顶点是 。通过最多 次问题输出了正确答案,因此是正确的答案。