CF1984H.Tower Capturing
NOI/NOI+/CTSC
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
有 n 个塔,分别位于 n 个不同的点 (x1,y1),(x2,y2),…,(xn,yn),保证没有三点共线,也没有四点共圆。最开始,你拥有 (x1,y1) 和 (x2,y2) 这两个塔,你的目标是占领所有的塔。为此,你可以进行如下操作任意次:
- 选择你已经拥有的两个塔 P 和 Q,以及一个你尚未拥有的塔 R,要求经过 P、Q、R 的圆能够包含所有 n 个塔在其内部或边界上。
- 然后,你可以占领在三角形 △PQR 内部或边界上的所有塔,包括 R 本身。
一次“攻击方案”是指一系列选择 R(R1,R2,…,Rk)的操作,最终使你占领了所有的塔。注意,只有当某一步选择的 R 不同时,两个攻击方案才被认为是不同的;如果选择的 R 相同,但 P 和 Q 不同,则认为是同一个方案。请你计算最短长度的攻击方案的数量。如果无法占领所有塔,输出 0。
由于答案可能很大,请输出对 998244353 取模后的结果。
输入格式
第一行包含一个整数 t(1≤t≤250),表示测试用例的数量。
每个测试用例的第一行包含一个整数 n(4≤n≤100),表示塔的数量。
接下来的 n 行,每行包含两个整数 xi 和 yi(−104≤xi,yi≤104),表示第 i 个塔的位置。最开始你拥有 (x1,y1) 和 (x2,y2) 这两个塔。
所有塔的位置均不相同,且没有三点共线,也没有四点共圆。
所有测试用例中 n 的总和不超过 1000。
输出格式
对于每个测试用例,输出一个整数,表示能够占领所有塔的最短攻击方案数量,对 998244353 取模。
输入输出样例
输入#1
3 5 1 1 2 5 3 3 4 2 5 4 6 1 1 3 3 1 2 2 1 3 10000 19 84 7 2 7 -4 -3 -3 6 3 1 -5 2 1 -4 -1 7
输出#1
1 0 10
说明/提示
在第一个测试用例中,只有一种最短的攻击方案,如下图所示。

- 第一步,选择 P=塔 1,Q=塔 2,R=塔 5。经过这三座塔的圆包含了所有塔,因此塔 3 和塔 5 都被占领。
- 第二步,选择 P=塔 5,Q=塔 1,R=塔 4。经过这三座塔的圆包含了所有塔,因此塔 4 被占领。
在第二个测试用例中,例如,位于 (3,10000) 的塔永远无法被占领。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?