你正在研究森林里的动物,并试图确定哪些动物是鸟类,哪些不是。
你通过测量每只动物的两个指标——身高和体重——来完成这项工作。对于一只鸟类来说,其身高必须在某个范围内,且体重也必须在另一个范围内,但你并不确定这两个范围具体是多少。同时你知道,所有满足这些范围的动物都是鸟类。
你已经测量了一些动物并展示给生物学家看,他们告诉你哪些是鸟类,哪些不是。这为你提供了一些关于鸟类身高和体重范围必须满足的条件。对于剩余的动物,你的程序需要判断它们是确定为鸟类、确定不是鸟类,还是根据现有信息无法判断。
输入格式
第一行包含一个整数 $C$,表示测试用例的数量。
接下来对于每个测试用例:
- 一行包含一个整数 $N$,表示你展示给生物学家的动物数量。
- $N$ 行,每行对应一只动物,格式为 "$H$ $W$ $X$",其中 $H$ 是动物的身高,$W$ 是动物的体重,$X$ 为字符串 "BIRD" 或 "NOT BIRD"。所有数字均为正整数。
- 一行包含一个整数 $M$,表示你尚未展示给生物学家的动物数量。
- $M$ 行,每行对应一只动物,格式为 "$H$ $W$",其中 $H$ 是动物的身高,$W$ 是动物的体重。所有数字均为正整数。
输出格式
对于每个测试用例:
- 一行包含字符串 "Case #$X$:",其中 $X$ 是测试用例的编号,从 1 开始。
- $M$ 行,每行包含 "BIRD"、"NOT BIRD" 或 "UNKNOWN" 中的一个(引号仅为清晰起见,不应包含在输出中)。
数据范围
$1 \le C \le 10$
$1 \le$ 所有身高和体重 $\le 1000000$
小数据集(测试集 1 - 可见;5 分)
$1 \le N \le 10$
$1 \le M \le 10$
大数据集(测试集 2 - 隐藏;12 分)
$1 \le N \le 1000$
$1 \le M \le 1000$
样例
输入 1
3 5 1000 1000 BIRD 2000 1000 BIRD 2000 2000 BIRD 1000 2000 BIRD 1500 2010 NOT BIRD 3 1500 1500 900 900 1400 2020 3 500 700 NOT BIRD 501 700 BIRD 502 700 NOT BIRD 2 501 600 502 501 1 100 100 NOT BIRD 3 107 93 86 70 110 115
输出 1
Case #1: BIRD UNKNOWN NOT BIRD Case #2: UNKNOWN NOT BIRD Case #3: UNKNOWN UNKNOWN UNKNOWN
说明
Case 1:
动物 "1500 1500" 必须在鸟类的范围内,因为我们知道身高和体重的范围都包含了 1000 和 2000。
动物 "900 900" 可能是也可能不是鸟类;我们不知道身高和体重的范围是否包含 900。
动物 "1400 2020" 在鸟类的身高范围内,但如果 2020 在体重范围内,那么我们已知不是鸟类的动物 "1500 2010" 也必须在体重范围内,这产生了矛盾。
Case 2:
在这个案例中,我们知道鸟类的身高必须是 501。但我们不知道鸟类的体重范围,只知道它包含体重 700。
Case 3:
在这个案例中,我们知道身高 100 且体重 100 的动物不是鸟类,但我们根本不知道鸟类是什么样的。