UOJ Logo Universal Online Judge

UOJ

#815. 【NOI2023】方格染色

附件下载 统计

有一个 nm 行的棋盘,共 n×m 个方格,我们约定行、列均从 1 开始标号,且第 i 列、第 j 行的方格坐标记为 (i,j)。初始时,所有方格的颜色均为白色。现在,你要对这个棋盘进行 q 次染色操作。

染色操作分为三种,分别为:

  1. 将一条横线染为黑色。具体地说,给定两个方格 (x1,y1)(x2,y2),保证 x1x2y1=y2,将这两个方格之间的所有方格(包括这两个方格)染为黑色。
  2. 将一条竖线染为黑色。具体地说,给定两个方格 (x1,y1)(x2,y2),保证 x1=x2y1y2,将这两个方格之间的所有方格(包括这两个方格)染为黑色。
  3. 将一条斜线染为黑色。具体地说,给定两个方格 (x1,y1)(x2,y2),保证 x1x2x2x1=y2y1,将这两个方格之间斜线上所有形如 (x1+i,y1+i)0ix2x1)的方格染为黑色。这种染色操作发生的次数不超过 5 次。

现在你想知道,在经过 q 次染色后,棋盘上有多少个黑色的方格。

输入格式

输入的第一行包含一个整数 c,表示测试点编号。c=0 表示该测试点为样例。

输入的第二行包含三个正整数 n,m,q,分别表示棋盘的列、行和染色操作的次数。

接下来 q 行,每行输入五个正整数 t,x1,y1,x2,y2,其中 t=1 表示第一种染色操作,t=2 表示第二种染色操作,t=3 表示第三种染色操作。x1,y1,x2,y2 表示染色操作的四个参数。

输出格式

输出一行包含一个整数,表示棋盘上被染为黑色的方格的数量。

样例一

input

0
5 5 3
1 1 3 5 3
2 3 1 3 5
3 1 1 5 5

output

13

explanation

在这组样例中,我们一共做了三次染色操作,如下图所示。

第一次操作时,将 (1,3),(2,3),(3,3),(4,3),(5,3) 染为黑色。

第二次操作时,将 (3,1),(3,2),(3,3),(3,4),(3,5) 染为黑色。

第三次操作时,将 (1,1),(2,2),(3,3),(4,4),(5,5) 染为黑色。

样例二

见附件下载。

这个样例满足测试点 15 的条件限制。

样例三

这个样例满足测试点 69 的条件限制。

样例四

这个样例满足测试点 1013 的条件限制。

样例五

这个样例满足测试点 1417 的条件限制。

样例六

这个样例满足测试点 1819 的条件限制。

样例七

这个样例满足测试点 20 的条件限制。

数据范围

对于所有测试数据保证:1n,m1091q1051x1,x2n1y1,y2m且最多有 5 次第三种染色操作

测试点编号 n,m q 特殊性质
15 300 300
69 105 2,000
1013 105 A
1417 B
1819
20 109

特殊性质 A:保证只有第一种染色操作。

特殊性质 B:保证只有第一种和第二种染色操作。

时间限制:1s

空间限制:512MB