n,m,k = map(int, input().split())
sussies = dict()
flagx = True
flagy = True
for i in range(k):
a,b,c = input().split()
b = int(b);c=int(c)
if b in sussies:
if sussies[b] != (c+(a=="-"))%2:
flagx = False
else:
sussies[b] = (c+(a=="-"))%2
if -c in sussies:
if sussies[-c] != (b+(a=="-"))%2:
flagy = False
else:
sussies[-c] = (b+(a=="-"))%2
if flagx==flagy==False:
print(0)
else:
x = [0,1]
y = [0,1]
samex=1
diffx=1
samey=1
diffy=1
ans = 0
if flagx:
temp = n
for i in sussies:
if i > 0:
temp -= 1
if sussies[i]%2 != i%2:
samex = 0
if sussies[i]%2 == i%2:
diffx = 0
ans += pow(2, temp, 1000000007)
if flagy:
temp = m
for i in sussies:
if i < 0:
temp -= 1
if sussies[i]%2 != i%2:
samey = 0
if sussies[i]%2 == i%2:
diffy = 0
ans += pow(2, temp, 1000000007)
print(ans%1000000007 - (samex==samey==1) - (diffx == diffy==1))
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
43 ms |
18220 KB |
Output is correct |
2 |
Correct |
48 ms |
18124 KB |
Output is correct |
3 |
Correct |
38 ms |
18132 KB |
Output is correct |
4 |
Correct |
41 ms |
18292 KB |
Output is correct |
5 |
Correct |
40 ms |
18236 KB |
Output is correct |
6 |
Correct |
42 ms |
18164 KB |
Output is correct |
7 |
Correct |
39 ms |
18220 KB |
Output is correct |
8 |
Correct |
41 ms |
18228 KB |
Output is correct |
9 |
Correct |
41 ms |
18136 KB |
Output is correct |
10 |
Correct |
47 ms |
18164 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
43 ms |
18220 KB |
Output is correct |
2 |
Correct |
48 ms |
18124 KB |
Output is correct |
3 |
Correct |
38 ms |
18132 KB |
Output is correct |
4 |
Correct |
41 ms |
18292 KB |
Output is correct |
5 |
Correct |
40 ms |
18236 KB |
Output is correct |
6 |
Correct |
42 ms |
18164 KB |
Output is correct |
7 |
Correct |
39 ms |
18220 KB |
Output is correct |
8 |
Correct |
41 ms |
18228 KB |
Output is correct |
9 |
Correct |
41 ms |
18136 KB |
Output is correct |
10 |
Correct |
47 ms |
18164 KB |
Output is correct |
11 |
Correct |
80 ms |
19636 KB |
Output is correct |
12 |
Correct |
36 ms |
18252 KB |
Output is correct |
13 |
Correct |
36 ms |
18148 KB |
Output is correct |
14 |
Correct |
67 ms |
19112 KB |
Output is correct |
15 |
Correct |
70 ms |
19072 KB |
Output is correct |
16 |
Correct |
261 ms |
26196 KB |
Output is correct |
17 |
Correct |
267 ms |
25980 KB |
Output is correct |
18 |
Correct |
272 ms |
26580 KB |
Output is correct |
19 |
Correct |
267 ms |
25772 KB |
Output is correct |
20 |
Correct |
245 ms |
26360 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
43 ms |
18220 KB |
Output is correct |
2 |
Correct |
48 ms |
18124 KB |
Output is correct |
3 |
Correct |
38 ms |
18132 KB |
Output is correct |
4 |
Correct |
41 ms |
18292 KB |
Output is correct |
5 |
Correct |
40 ms |
18236 KB |
Output is correct |
6 |
Correct |
42 ms |
18164 KB |
Output is correct |
7 |
Correct |
39 ms |
18220 KB |
Output is correct |
8 |
Correct |
41 ms |
18228 KB |
Output is correct |
9 |
Correct |
41 ms |
18136 KB |
Output is correct |
10 |
Correct |
47 ms |
18164 KB |
Output is correct |
11 |
Correct |
80 ms |
19636 KB |
Output is correct |
12 |
Correct |
36 ms |
18252 KB |
Output is correct |
13 |
Correct |
36 ms |
18148 KB |
Output is correct |
14 |
Correct |
67 ms |
19112 KB |
Output is correct |
15 |
Correct |
70 ms |
19072 KB |
Output is correct |
16 |
Correct |
261 ms |
26196 KB |
Output is correct |
17 |
Correct |
267 ms |
25980 KB |
Output is correct |
18 |
Correct |
272 ms |
26580 KB |
Output is correct |
19 |
Correct |
267 ms |
25772 KB |
Output is correct |
20 |
Correct |
245 ms |
26360 KB |
Output is correct |
21 |
Correct |
294 ms |
34780 KB |
Output is correct |
22 |
Correct |
37 ms |
18252 KB |
Output is correct |
23 |
Correct |
311 ms |
35028 KB |
Output is correct |
24 |
Correct |
310 ms |
34268 KB |
Output is correct |
25 |
Correct |
315 ms |
34912 KB |
Output is correct |
26 |
Correct |
316 ms |
36068 KB |
Output is correct |
27 |
Correct |
342 ms |
36624 KB |
Output is correct |
28 |
Correct |
317 ms |
40052 KB |
Output is correct |
29 |
Correct |
298 ms |
36484 KB |
Output is correct |
30 |
Correct |
340 ms |
38956 KB |
Output is correct |