#P16177. [Ncpc2020]Exhaustive Experiment彻底实验
[Ncpc2020]Exhaustive Experiment彻底实验
题目描述
你被分配到一个绝密项目中,项目涉及一个奇怪的真空系统。物理学家们正在寻找系统哪里漏气,但大量测量结果让他们感到困惑,于是他们请你帮忙分析。
真空系统中有一面墙,墙上有若干可能漏气的组件。物理学家对一些组件进行了氦气泄漏测试:他们在某个组件处释放氦气,然后观察质谱仪是否在真空系统中检测到氦气峰值。
如果该组件本身有任何一点泄漏,就一定会检测到。但是还有一个复杂因素:氦气会向上扩散。若氦气经过了其他漏气组件,也会导致测试结果为阳性。
具体地,若被测试组件位于 ,另一个漏气组件位于 ,并且它在被测试组件上方,即 ,同时满足
则这次测试也会得到阳性结果。
也就是说,对某个组件做测试时,只要该组件本身漏气,或者它上方某个处在氦气扩散范围内的组件漏气,测试结果就是阳性。
现在给出若干组件的位置以及部分测试结果。你希望用尽量少的真实漏气组件解释所有观测结果。请输出所需漏气组件数量的最小值。若不存在任何漏气组件集合能够解释所有测试结果,则输出 impossible。
输入格式
第一行包含一个整数 ,表示组件数量。
接下来 行,每行包含两个整数 和一个字符 ,表示一个组件的位置和测试结果类型。
字符 的含义如下:
-:没有对该组件进行测试;N:对该组件测试结果为阴性;P:对该组件测试结果为阳性。
输出格式
若可以解释所有测试结果,输出一个整数,表示最少需要多少个漏气组件。
否则输出:
impossible
数据范围
保证没有两个组件位于同一位置。
样例 #1
输入
4
1 -1 P
2 2 P
-1 3 N
-2 -1 -
输出
1
样例 #2
输入
2
0 0 N
1 2 P
输出
impossible