2876.皇后大战-预推免

通过数:11提交数:39学校:复旦大学保研机试真题 题目列表 标签
皇后大战-预推免 题目描述 在一个无限大的棋盘上,放置了 $n$ 个皇后。每个皇后可以攻击到与它位于同一行、同一列或同一条对角线上的其他皇后。 现在需要将这些皇后划分为两个阵营 A 和 B,满足以下条件: 1. 同一阵营内的任意两个皇后不能互相攻击,即不能在同一行、同一列或同一条对角线上。 2. 不同阵营的皇后可以互相攻击。 3. 每个阵营至少包含一个皇后。 给定所有皇后的坐标,请计算满足条件的阵营划分方案总数。两个皇后只要有一个所属阵营不同,就认为是不同的划分方案。 由于答案可能很大,请输出答案对 $10^9+7$ 取模后的结果。 输入格式 第一行输入一个整数 $n$,表示皇后的数量。 接下来 $n$ 行,每行输入两个整数 $x i,y i$,表示第 $i$ 个皇后的坐标。 保证所有皇后的坐标互不相同。 输出格式 输出一个整数,表示满足条件的阵营划分方案总数对 $10^9+7$ 取模后的结果。 数据范围 $1 \le n \le 10^5$ $-10^9 \le x i,y i \le 10^9$ 输入样例 3 0 0 0 1 1 0 输出样例 0 样例说明 三个皇后中,$(0,0)$ 与 $(0,1)$ 同行,$(0,0)$ 与 $(1,0)$ 同列,$(0,1)$ 与 $(1,0)$ 在同一条对角线上,因此任意两个皇后都会互相攻击。无法将它们划分到两个阵营且保证同一阵营内没有互相攻击的皇后,所以答案为 $0$。
C
补全
点击调试按钮即可调试代码。

点击提交按钮即可提交代码。