QOJ.ac

QOJ

Time Limit: 1.0 s Memory Limit: 512 MB Total points: 100 Hackable ✓

#12805. 逻辑链

Statistics

每当你遇到一个从未见过的问题时,难道没有想到过一些你熟悉的东西吗?如果有,你可能会想到别的东西,然后越来越多的东西会浮现在你的脑海中。这就是所谓的逻辑链。鲁迅的作品也描述过这种有趣的现象。

假设有 $n$ 个概念,标记为 $1, 2, \dots, n$。小 Q 的思维可以用一个 $n \times n$ 的二进制矩阵 $g$ 来表示。如果他在接触概念 $i$ 时能想到概念 $j$,则 $g_{i,j}$ 为 $1$,否则为 $0$。对于两个不同的概念 $u$ 和 $v$,如果 $u$ 可以直接或间接地推导出 $v$,且 $v$ 也可以直接或间接地推导出 $u$,那么这对概念 $(u, v)$ 被称为一个循环对。

小 Q 的思维一直在变化。在第 $i$ 天,矩阵 $g$ 中总共有 $k_i$ 个位置 $(u, v)$ 被翻转($0$ 变为 $1$,$1$ 变为 $0$)。你的任务是编写一个程序,求出每天在所有更改完成后循环对的数量。

在计数时,$(u, v)$ 和 $(v, u)$ 应被视为同一对。

输入格式

第一行包含两个整数 $n$ 和 $m$,分别表示概念的数量和天数($1 \le n \le 250$,$1 \le m \le 25\,000$)。

接下来的 $n$ 行中,第 $i$ 行包含 $n$ 个整数 $g_{i,1}, g_{i,2}, \dots, g_{i,n}$($0 \le g_{i,j} \le 1$,$g_{i,i} = 0$)。这些行共同定义了矩阵 $g$。

接下来的 $m$ 个部分描述每一天,每个部分以一个整数 $k_i$ 开头,表示第 $i$ 天发生的更改次数($1 \le k_i \le 10$)。接下来的 $k_i$ 行,每行包含两个整数 $u$ 和 $v$,表示 $g$ 中一个被更改的位置($1 \le u, v \le n$,$u \neq v$)。

保证每个位置每天最多被更改一次。

输出格式

对于每一天,输出一行,包含一个整数:该天所有更改完成后循环对的数量。

样例

样例输入 1

4 2
0010
1000
0000
0000
3
1 4
3 2
1 2
2
4 3
2 3

样例输出 1

3
6

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.