El microchip y las mediciones


Submit solution


Points: 100 (partial)
Time limit: 1.0s
Memory limit: 256M

Author:
Problem type
Allowed languages
Ada, BrainF***, C, C#, C++, Dart, Go, Java, JS, Kotlin, Pascal, Prolog, Python, Swift, VB

Sheldon y Leonard están estudiando electro-dinámica cuántica en un microchip. El microchip consiste en una gran matriz de N x M electrones, cada electrón tiene un giro positivo, representado con '+', y uno negativo, representado con '-'. Ellos no conocen el giro actual de todos los electrones, pero han hecho mediciones, la i-ésima de estas le asegura que el electrón en la posición (y_i,x_i) de la matriz, tiene como giro actual s_i. Además saben que por cada submatriz de 2 x 2, hay exactamente dos electrones con giro positivo(+) y dos con giro negativo(-). A ellos les interesa saber cuántas matrices de giros de electrones (de '+' y de '-') cumplen con todas estas restricciones. Por razones clasificadas, quieren conocer esta cantidad módulo 1000000007.

Entrada

Una línea con tres enteros: N, M y K, el alto, el ancho de la matriz y la cantidad de mediciones respectivamente. Después de esto, K líneas. La i-ésima contiene s_i, donde s_i puede ser '+' o '-', además de dos enteros y_i (1 \leq y_i \leq N) y x_i (1 \leq x_i \leq M), las coordenadas del electrón en la matriz. Se garantiza que no habrán dos mediciones en la misma posición.

Salida

Una línea con un entero, la cantidad de matrices que coinciden con las restricciones dadas módulo 1000000007.

Subtareas

Para todas las subtareas se tiene que: 1 \leq N, M \leq 10^9 y 0 \leq K \leq 10^5.

-Subtarea 1 (25 puntos): N, M \leq 5.

-Subtarea 2 (55 puntos): N, M \leq 1000.

-Subtarea 3 (20 puntos): Sin restricciones adicionales.

Ejemplo #1 de Entrada

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

Ejemplo #1 de Salida

2

Ejemplo #2 de Entrada

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

Ejemplo #2 de Salida

0

Explicación del Ejemplo #1:

Las dos matrices que cumplen las restricciones son:

+-+-
+-+-

y

+-+-
-+-+

Comments

There are no comments at the moment.