QOJ.ac

QOJ

Limite de temps : 2 s Limite de mémoire : 256 MB Points totaux : 100

#8194. 按钮

Statistiques

一个 $n \times n$ 的棋盘由 $n^2$ 个格子组成。每个格子要么是空的,要么上面有一个按钮。最初,没有任何按钮被激活。现在需要激活一定数量的按钮(至少一个),使得每一行和每一列中被激活的按钮数量具有相同的奇偶性。形式化地,如果 $R_i$ 是第 $i$ 行中被激活的按钮数量,$C_i$ 是第 $i$ 列中被激活的按钮数量(对于 $1 \le i \le n$),则所有数字 $R_1, R_2, \dots, R_n, C_1, C_2, \dots, C_n$ 对 $2$ 取模的余数必须相同。

输入格式

输入的第一行包含两个整数 $n$ 和 $m$ ($1 \le n \le 100\,000, 1 \le m \le \min(n^2, 500\,000)$),分别表示棋盘的大小和按钮的数量。按钮编号从 $1$ 到 $m$。

接下来的 $m$ 行描述了这些按钮:第 $i$ 行包含两个整数 $r_i$ 和 $c_i$ ($1 \le r_i, c_i \le n$),表示编号为 $i$ 的按钮(对于 $1 \le i \le m$)位于棋盘的第 $r_i$ 行和第 $c_i$ 列。

每个按钮位于不同的格子上。

输出格式

如果无法按照题目要求激活按钮,请输出一行 NIE

否则,在第一行输出 TAK。在第二行输出一个整数 $k$ ($1 \le k \le m$),表示在某个正确方案中被激活的按钮数量。在第三行输出 $k$ 个互不相同的整数,表示被激活的按钮编号。这些数字可以以任意顺序输出。

子任务

测试集分为以下子任务。每个子任务的测试用例由一组或多组独立的测试数据组成。

子任务 约束条件 分值
1 $m \le 20$ 24
2 若存在解,则存在 $R_i, C_i$ 均为偶数的解 24
3 若存在解,则存在 $R_i, C_i$ 均为奇数的解 24
4 无额外约束 28

如果测试用例的答案不是 NIE,而你的程序仅正确输出了输出的第一行,则该测试用例将获得 50% 的分数。特别地,为了获得该测试用例 50% 的分数,不需要输出后续行。

样例

样例输入 1

3 6
1 1
1 2
2 2
3 1
3 2
3 3

样例输出 1

TAK
4
1 2 4 5

说明

样例解释:此时 $R_1 = 2, R_2 = 0, R_3 = 2, C_1 = C_2 = 2, C_3 = 0$。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.