QOJ.ac

QOJ

Time Limit: 1 s Memory Limit: 512 MB Total points: 100

#35. 加减

Statistics

物理学家 Matthew 正在研究硅基矩形微芯片的量子电动力学。该微芯片由一个非常大的 $N \times M$ 电子网格组成。每个电子都有正(上)或负(下)自旋,分别记为 $+$ 和 $-$。

Matthew 不知道所有电子的自旋,但他进行了 $K$ 次测量。在第 $i$ 次测量中,他发现位置 $(y_i, x_i)$ 处的电子具有给定的自旋 $s_i$。他还知道,在每个 $2 \times 2$ 的子网格中,正自旋和负自旋的电子数量相等。他想知道能否根据测量结果恢复每个电子的状态。如果不能,他想知道有多少种可能的状态与他的测量结果一致。出于保密原因,他希望得到对 $10^9 + 7$ 取模后的答案。

CC0 Public Domain, Marian Sigler via Wikimedia Commons

输入格式

第一行包含三个数字 $N$、$M$ 和 $K$:网格的高度、网格的宽度以及测量次数。接下来的 $K$ 行包含一个自旋 $s_i$($s_i$ 为 $+$ 或 $-$)以及两个数字 $1 \le y_i \le N$ 和 $1 \le x_i \le M$,表示电子的坐标。Matthew 从未在完全相同的位置进行过两次测量。

数据范围

始终满足 $1 \le N, M \le 10^9$ 且 $0 \le K \le 100\,000$。对于子任务,输入满足以下进一步限制:

  • 组 1:12 分,$N, M \le 5$
  • 组 2:42 分,$N, M \le 1\,000$
  • 组 3:46 分,无其他限制。

输出格式

输出与 Matthew 的测量结果一致的有效状态总数,对 $10^9 + 7$ 取模。

说明

样例 1 的解释: 仅有的两个有效网格是 +-+- +-+- 和 +-+- -+-+

样例

输入 1

2 4 4
+ 1 1
- 1 2
+ 1 3
- 1 4

输出 1

2

输入 2

3 3 3
- 2 1
+ 2 3
+ 3 3

输出 2

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.