#P16585. [GKS 2016 #C] Safe Squares
[GKS 2016 #C] Safe Squares
题目描述
Codejammon 的训练师们正在积极寻找怪物,但如果你不是训练师,这些怪物对你来说可能非常危险。你可能想找到完全没有怪物的安全地点!
将我们的世界视为一个网格,其中某些格子已被怪物占据。我们定义一个安全正方形为一个与网格对齐的 的正方形(),且该正方形内不包含任何怪物。你的任务是计算在整个世界中有多少个(任意大小的)安全正方形。
输入格式
输入的第一行给出测试用例的数量 。接下来有 个测试用例。每个测试用例的第一行包含三个整数 、 和 。网格有 行 列,包含 个怪物。接下来 行,每行包含两个整数 和 ,表示第 个怪物所在的行和列。(行从上到下编号,从 开始;列从左到右编号,从 开始。)
输出格式
对于每个测试用例,输出一行,格式为 Case #x: y,其中 是测试用例编号(从 开始), 是该测试用例中安全正方形的总数。
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
提示
样例 #1 的网格为:
0 0 0
0 0 0
0 1 0
这里,0 表示没有怪物的格子,1 表示有怪物的格子。共有 个安全正方形: 个 和 个 。
样例 #2 的网格为:
0 1 0 1 1 0 0 0 0 0 1
1 0 0 0 0 0 0 0 0 1 0
1 0 0 0 1 0 0 0 0 1 1
0 0 0 0 1 0 0 0 0 0 1
请注意,样例 #2 只会出现在大数据集中。它有 个安全正方形: 个 , 个 , 个 ,以及 个 。
限制条件
。
对于 ,有 。(没有两个怪物在同一个格子内。)
,。
,。
小数据集(测试集 1 – 可见)
。
。
。
大数据集(测试集 2 – 隐藏)
。
。
。
翻译由 DeepSeek V4 Pro 完成