#P4694. 水题嘉年华
水题嘉年华
题目描述
水题嘉年华温暖节最盛大的活动,而主办方为了缓解大部分OIer常年把不到妹的问题,特别设置了一个有趣的活动“脱单连连看”。规则是这样的,有 个OIer 和 个妹子参加这个节目,主持人在黑板上按照某个顺序写下这 个人的名字,然后请水题嘉年华的特邀嘉宾 Lyra 将OIer 和妹子配对。具体来说,这 个名字排成水平的一行,Lyra 要画 条折线,每条折线不能跨越名字所在的水平线,且必须连接一个OIer和一个妹子,任意两条折线不能相交。举一个合法例子:
然而,很多OIer其实已经暗地里脱团了,于是每个OIer其实都带来了自己的妹子,只不过想借助这个活动来正大光明的公布恋情。方便起见我们给每个人一个 0到 M-1的编号,一个OIer和他的妹子编号相同。Lyra的任务就是在合法条件下连接每个OIer和他的妹子。现在 N 个位置中某些位置的人已经确定了,剩下的由 Lyra 任意填写,Lyra 想知道,是否存在一种填写剩下位置的姓名的方式,使得她能在保证合法的前提下连接每个OIer和他的妹子。填写姓名要保证 0 到 每个编号出现且只出现两次。
输入格式
每个输入包含多组数据。 第一行一个整数 ,表示数据组数,以下 组数据,对于每组数据:
- 第一行一个整数 ,表示OIer和妹子的总数目。
- 第二行 个整数表示每个位置已经确定的姓名的编号, -1表示这个位置还没有确定。输入保证 为偶数且每个编号出现两次或零次。
输出格式
对于每组数据,若 Lyra 可以安排剩余的姓名并连接每个OIer和他的妹子,输出"POSSIBLE",否则输出"IMPOSSIBLE"。
输入数据示例
2
2
6
-1 0 -1 -1 0 -1
6
1 -1 2 1 -1 2
输出数据示例
POSSIBLE
IMPOSSIBLE