#P16838. [GKS 2021 #A] L Shaped Plots

    ID: 19165 远端评测题 4000ms 1024MiB 尝试: 0 已通过: 0 难度: 5 上传者: 标签>动态规划 DP数学递推2021Google Kick Start

[GKS 2021 #A] L Shaped Plots

题目描述

给定一个 RRCC 列的网格,每个格子中的值为 0011

一个是指同一行或同一列中连续的非空单元格序列。段的长度定义为该序列中单元格的个数。

如果一个段中的所有单元格均为 11,则称该段为“好”段。

一个 L 形 定义为一对无序的段,满足以下所有性质:

  • 每个段都必须是“好”段。
  • 两个段必须互相垂直。
  • 两个段必须共享一个单元格,且该单元格是两个段的端点。
  • 每个段的长度至少为 22
  • 较长段的长度是较短段长度的两倍。

我们需要计算网格中 L 形的个数。

以下展示了两个正确的 L 形示例:

:::align{center} :::

以及三个无效 L 形的示例:

:::align{center} :::

注意,左侧的形状中,两个段没有共享共同的端点。接下来的两个形状不满足最后一个要求:中间的形状两个段长度相等,最后一个形状中较长段的长度大于较短段长度的两倍。

输入格式

输入的第一行包含测试用例的数量 TT。接下来有 TT 个测试用例。

每个测试用例的第一行包含两个整数 RRCC

随后 RR 行,每行包含 CC 个整数,表示网格中的单元格。

输出格式

对于每个测试用例,输出一行,格式为 Case #x: y,其中 xx 是测试用例编号(从 11 开始),yy 是 L 形的个数。

2
4 3
1 0 0
1 0 1
1 0 0
1 1 0
6 4
1 0 0 0
1 0 0 1
1 1 1 1
1 0 1 0
1 0 1 0
1 1 1 0
Case #1: 1
Case #2: 9

提示

在样例 #1 中,存在 11 个 L 形。

  • 11 个由单元格 (1,1),(2,1),(3,1),(4,1),(4,2)(1,1), (2,1), (3,1), (4,1), (4,2) 构成。

:::align{center} :::

在样例 #2 中,存在 99 个 L 形。

  • 11 个由单元格 $(1,1), (2,1), (3,1), (4,1), (5,1), (6,1), (6,2), (6,3)$ 构成。
  • 22 个由单元格 (3,1),(4,1),(5,1),(6,1),(6,2)(3,1), (4,1), (5,1), (6,1), (6,2) 构成。
  • 33 个由单元格 (6,1),(5,1),(4,1),(3,1),(3,2)(6,1), (5,1), (4,1), (3,1), (3,2) 构成。
  • 44 个由单元格 (3,3),(4,3),(5,3),(6,3),(6,2)(3,3), (4,3), (5,3), (6,3), (6,2) 构成。
  • 55 个由单元格 (6,3),(5,3),(4,3),(3,3),(3,2)(6,3), (5,3), (4,3), (3,3), (3,2) 构成。
  • 66 个由单元格 (3,1),(3,2),(3,3),(3,4),(2,4)(3,1), (3,2), (3,3), (3,4), (2,4) 构成。
  • 77 个由单元格 (3,4),(3,3),(3,2),(3,1),(2,1)(3,4), (3,3), (3,2), (3,1), (2,1) 构成。
  • 88 个由单元格 (3,4),(3,3),(3,2),(3,1),(4,1)(3,4), (3,3), (3,2), (3,1), (4,1) 构成。
  • 99 个由单元格 (6,3),(5,3),(4,3),(3,3),(3,4)(6,3), (5,3), (4,3), (3,3), (3,4) 构成。

下图中展示了前 33 个 L 形。

:::align{center} :::

限制条件

1T1001 \le T \le 100

网格仅由 0011 组成。

测试集 1

1R401 \le R \le 40

1C401 \le C \le 40

测试集 2

最多 55 个测试用例满足 1R10001 \le R \le 10001C10001 \le C \le 1000

其余测试用例满足 1R401 \le R \le 401C401 \le C \le 40

翻译由 DeepSeek V4 Pro 完成