#codefestival2016qualAd. [codefestival_2016_qualA_d]Grid and Integers

[codefestival_2016_qualA_d]Grid and Integers

问题陈述

有一个 RRCC 列的网格。我们将第 rr 行第 cc 列的单元格称为 (rcr,c)。

高桥先生在 NN 个单元格中写入非负整数,即对于每个 ii (1iN1≤i≤N),他在 (ricir_i,c_i) 处写入一个非负整数 aia_i。之后他睡着了。

青木先生找到了网格,并试图通过在所有剩余单元格中写入整数来给高桥先生一个惊喜。为了真正让高桥先生惊喜,网格必须满足以下条件。

  • 条件 1:每个单元格包含一个非负整数。
  • 条件 2:对于网格上的任意 2×22×2 方形,左上角和右下角整数的和必须始终等于右上角和左下角整数的和。

确定是否可以通过适当地在所有剩余单元格中写入整数来满足这些条件。

约束条件

  • 2RC1052≤R,C≤10^5
  • 1N1051≤N≤10^5
  • 1riR1≤r_i≤R
  • 1ciC1≤c_i≤C
  • (rici)(rjcj)(r_i,c_i) ≠ (r_j,c_j) (iji≠j)
  • aia_i 是整数。
  • 0ai1090≤a_i≤10^9

输入

输入以以下格式从标准输入给出:

RR CC NN r1r_1 c1c_1 a1a_1 r2r_2 c2c_2 a2a_2 :: rNr_N cNc_N aNa_N

输出

如果可以通过适当地在所有剩余单元格中写入整数来满足条件,则打印 Yes。否则,打印 No


示例输入 1

2 2
3
1 1 0
1 2 10
2 1 20

示例输出 1

Yes

可以按如下方式写入整数。


示例输入 2

2 3
5
1 1 0
1 2 10
1 3 20
2 1 30
2 3 40

示例输出 2

No

网格上有两个 2×22×2 方形,由以下单元格组成:

  • 单元格 (11)(1,1)(12)(1,2)(21)(2,1)(22)(2,2)
  • 单元格 (12)(1,2)(13)(1,3)(22)(2,2)(23)(2,3)

您必须将 4040 写入空单元格,以满足左侧方形的条件,但这样不满足右侧方形的条件。


示例输入 3

2 2
3
1 1 20
1 2 10
2 1 0

示例输出 3

No

您必须将 10-10 写入空单元格,以满足条件 2,但这样不满足条件 1。


示例输入 4

3 3
4
1 1 0
1 3 10
3 1 10
3 3 20

示例输出 4

Yes

可以按如下方式写入整数。


示例输入 5

2 2
4
1 1 0
1 2 10
2 1 30
2 2 20

示例输出 5

No

所有单元格已经包含一个整数,且不满足条件 2。