#USACO1145. 虫洞

虫洞

题目描述

农夫约翰在周末进行高能物理实验的时候发生了一些意外,导致他的农场上出现了 NN 个虫洞(NN 是偶数)。

我们将农场视作一个二维平面,每个虫洞都位于其中的不同点上,也就是说所有虫洞的坐标 (x,y)(x,y) 均不相同。

根据他的计算,这些虫洞将形成 N/2N/2 个连接对。

例如,如果虫洞 AABB 成对连接,那么进入虫洞 AA 的生物会从虫洞 BB 出来,反之亦然。

这将引发很不愉快的后果。

假设虫洞 A(1,1)A(1,1) 和虫洞 B(3,1)B(3,1) 成对连接,奶牛贝茜从 (2,1)(2,1) 位置开始沿 xx 轴正向移动。

贝茜就会进入到虫洞 BB 中,并从虫洞 AA 处出来,然后再次移动到虫洞 BB 中,以此类推,陷入无限循环。

约翰知道每个虫洞的具体坐标位置,同时知道贝茜会一直沿着 xx 轴正向移动,但是她当前的位置约翰并不清楚。

贝茜在沿 xx 轴正方向移动时,一旦遇到虫洞则必须进入。

现在请你计算,有多少种不同的虫洞配对方案,可以使得贝茜从某个点开始移动,能够陷入到无限循环之中。

输入格式

第一行包含整数 NN,表示虫洞数量。

接下来 NN 行,每行包含两个整数 x,yx,y,表示一个虫洞的位置坐标。

输出格式

输出一个整数,表示能够使得贝茜陷入无限循环的虫洞配对方案的总数。

4
0 0
1 0
1 1
0 1
2

提示

2N12,2≤N≤12, 0x,y1090≤x,y≤10^9

方案 1:(0,0) 与(1,0) 配对,(0,1) 与(1,1) 配对,贝茜从 (-1,0) 出发就可以陷入无限循环。

方案 2:(0,0) 与 (1,1) 配对,(1,0) 与(0,1) 配对,贝茜从 (1,1) 处进入虫洞,即可陷入 (1,1)→(0,0)→(1,0)→(0,1)→(1,1)… 的无限循环。