#P17445. PM12365不相交半圆

PM12365不相交半圆

题目描述

xx 轴上依次有 2N2N 个点 (0,0),(1,0),,(2N1,0)(0,0),(1,0),\ldots,(2N-1,0)。你要给这些点标号,使 0,1,,N10,1,\ldots,N-1 中的每个整数恰好出现两次。对于每个标号 jj,用一个以对应两点为端点、位于 xx 轴上方或下方的半圆连接这两个点。要求所有 NN 个半圆两两不相交。

部分点的标号已经给定。数组中值为 -1 的位置尚未标号,其余位置已经固定。保证每个已经出现的非负标号在输入中要么出现 00 次,要么恰好出现 22 次。

判断能否给所有 -1 位置补上尚未使用的标号,并为每个半圆选择上半平面或下半平面,使所有半圆互不相交。

输入格式

第一行一个偶数 L=2NL=2N

第二行 LL 个整数 labels[i]

输出格式

若存在可行方案,输出:

POSSIBLE

否则输出:

IMPOSSIBLE

数据范围

2L502\le L\le 50LL 为偶数。每个元素在 [1,N1][-1,N-1] 范围内;每个非负标号在输入中出现 00 次或 22 次。

样例 1

6
-1 0 -1 -1 0 -1
POSSIBLE

样例 2

6
1 -1 2 1 -1 2
IMPOSSIBLE