QOJ.ac

QOJ

実行時間制限: 1.0 s メモリ制限: 512 MB 満点: 100

#80. TRAX

統計

Snuke spielt mit dem folgenden Spielstein (dieser Spielstein wird in einem Spiel namens TRAX verwendet):

problem_80_fb1d919c979b9a3f9e234706e8bd3921.png

Snuke möchte ein $H \times W$ großes Gitter mit diesen Spielsteinen füllen. In jede Zelle des Gitters legt er einen Spielstein in einer der vier Ausrichtungen:

problem_80_e3d11d1f6e762228aa8d79ce6f750647.png

Diese Ausrichtungen sind wie im obigen Bild mit 1 bis 4 nummeriert.

Die Anordnung der Spielsteine muss die folgenden Bedingungen erfüllen:

  • Ein roter Bogen darf keinen weißen Bogen berühren.
  • Das Gitter darf keine geschlossenen Kreise enthalten (siehe die Beispiele unten).
  • Für jedes $i$ mit $1 \le i \le N$ muss der Spielstein in der Zelle, die von oben gezählt in der $R_i$-ten Zeile und von links gezählt in der $C_i$-ten Spalte liegt, die Ausrichtung $D_i$ haben.

Das folgende Bild zeigt beispielsweise zwei ungültige Anordnungen von Spielsteinen. Die linke Anordnung enthält einen weißen geschlossenen Kreis, und die rechte Anordnung enthält einen roten geschlossenen Kreis und einen großen weißen geschlossenen Kreis.

problem_80_71518c4e4c61db9d84cd579055ff9fc5.png

Bestimme die Anzahl gültiger Anordnungen modulo $10^9+7$.

Eingabe

$$ \begin{gathered} H\quad W\\ N\\ R_1\quad C_1\quad D_1\\ \vdots\\ R_N\quad C_N\quad D_N \end{gathered} $$

  • $1 \le H,W \le 10^5$
  • $0 \le N \le 10^5$
  • $1 \le R_i \le H$
  • $1 \le C_i \le W$
  • $1 \le D_i \le 4$
  • Die Paare $(R_i,C_i)$ sind paarweise verschieden.

Ausgabe

Gib die Anzahl gültiger Anordnungen modulo $10^9+7$ aus.

Beispiele

Eingabe 1

2 2
1
1 1 4

Ausgabe 1

4

Eingabe 2

2 10
2
1 1 1
1 2 1

Ausgabe 2

0

Eingabe 3

2015 1114
0

Ausgabe 3

711460824

Eingabe 4

2 2
2
1 1 1
2 2 3

Ausgabe 4

0

Eingabe 5

5 6
3
1 2 2
4 1 1
5 6 4

Ausgabe 5

12

Eingabe 6

5 6
2
3 3 4
3 4 2

Ausgabe 6

39

Hinweis

Dies sind die vier gültigen Anordnungen für Beispiel 1:

problem_80_0596ee750019a76621e5ca0698e1b9b9.png

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
#495Editorial Open题解Milmon Download

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.