WAC620.安全区

传统题 时间 2000 ms 内存 256 MiB 5 尝试 1 已通过 1 标签

安全区

Codejamon 训练师正在积极寻找怪物,但如果你不是训练师,这些怪物对你来说真的很危险。

你需要找到一个没有任何怪物出现的安全区域。

将我们的世界视为一个矩形网格,其中一些单元格被怪物占据。

一个 D×DD×D 的正方形网格区域(D1D≥1),如果内部不含任何怪物,那么这片区域就被称之为安全区。

你的任务是找出我们在整个世界中共有多少安全区(任何大小)。

输入格式

第一行包含整数 TT,表示共有 TT 组测试数据。

每组数据第一行包含三个整数 R,C,KR,C,K,表示矩形网格有 RRCC 列,其中包含 KK 个怪物。

接下来 KK 行,每行包含两个整数 R_i,C_iR\_i,C\_i,表示其中一个怪物所在的行和列。

行从上到下从 00 开始编号;列从左到右从 00 开始编号。

输出格式

每组数据输出一个结果,每个结果占一行。

结果表示为 Case #x: y,其中 xx 是组别编号(从 11 开始),yy 是安全区的总数量。

数据范围

1T201 \le T \le 20,

0R_i<R0 \le R\_i < R,

0C_i<C0 \le C\_i < C,

1R,C30001 \le R,C \le 3000,

0K30000 \le K \le 3000,

数据保证每个单元格内最多包含一个怪物。

样例解释

样例#1的网格是:

0 0 0
0 0 0
0 1 0

其中,00 代表没有怪物,11 代表有怪物。

它包含 1010 个安全区域:881×11×1 区域和 222×22×2 区域。

样例

2
3 3 1
2 1
4 11 12
0 1
0 3
0 4
0 10
1 0
1 9
2 0
2 4
2 9
2 10
3 4
3 10
Case #1: 10
Case #2: 51

在线编程 IDE

建议全屏模式获得最佳体验