AT_1_stpc2025_1_i.Subgrid Connected Components
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定一个 2N+1 行 2N+1 列的网格,这里 N 是正整数。网格从上到下的第 i 行、从左到右的第 j 列的格子记作 (i,j),满足 1≤i,j≤2N+1。在格子 (i,j) 上写有字符 Si,j,且满足以下性质:
- 当 i 为奇数且 j 为奇数时,$S_{i, j} = $
o - 当 i 为奇数且 j 为偶数时,$S_{i, j} = $
-或. - 当 i 为偶数且 j 为奇数时,$S_{i, j} = $
|或. - 当 i 为偶数且 j 为偶数时,$S_{i, j} = $
.
有 Q 个独立的查询。第 i 个查询(1≤i≤Q)会给定四个奇数 Ui,Di,Li,Ri,其中 1≤Ui≤Di≤2N+1, 1≤Li≤Ri≤2N+1,需要解答下述问题:
在子网格 [Ui,Di]×[Li,Ri] 内,以字符
o为顶点、字符-和|为边构成的无向图中,连通块(连通分量)的个数是多少?
具体而言,即需要回答下述问题:
考虑一个有 ((Di−Ui+2)/2)×((Ri−Li+2)/2) 个顶点的无向图 G,顶点为所有满足 Ui≤x≤Di 且 x 为奇数,以及 Li≤y≤Ri 且 y 为奇数的点对 (x,y)。此外,无向图 G 仅包含以下无向边:
- 若 x、y 为奇数,且 Ui≤x≤Di,Li≤y≤Ri−2,并且 $S_{x,y+1} = $
-,则顶点 (x,y) 和 (x,y+2) 之间连有无向边。- 若 x、y 为奇数,且 Ui≤x≤Di−2,Li≤y≤Ri,并且 $S_{x+1,y} = $
|,则顶点 (x,y) 和 (x+2,y) 之间连有无向边。试求该无向图 G 的连通块数量。
输入格式
输入按照以下格式从标准输入读入:
N
S1,1 S1,2 ⋯ S1,2N+1
S2,1 S2,2 ⋯ S2,2N+1
⋮
S2N+1,1 S2N+1,2 ⋯ S2N+1,2N+1
Q
U1 D1 L1 R1
U2 D2 L2 R2
⋮
UQ DQ LQ RQ
输出格式
输出共 Q 行,对于第 i 个查询,在第 i 行输出该查询的答案。
输入输出样例
输入#1
3 o-o-o-o |.....| o-o.o.o |.|.... o-o.o-o ....|.| o.o-o-o 12 3 5 1 7 1 1 1 1 1 3 1 3 1 3 1 7 1 1 1 1 1 1 1 7 1 7 1 1 1 7 1 7 3 5 3 5 3 5 3 7 3 7 3 7 5 7 3 5
输出#1
4 1 1 2 1 1 2 4 3 4 4 2
说明/提示
注意
本题的内存限制为 384 MiB。
样例解释 1
给定的网格如下所示。

对于第 1 个查询,答案如图所示为 4。

数据范围
- N 为整数
- 1≤N≤2000
- 当 i、j 为奇数时,$S_{i, j} = $
o - 当 i 为奇数、j 为偶数时,$S_{i, j} = $
-或. - 当 i 为偶数、j 为奇数时,$S_{i, j} = $
|或. - 当 i、j 为偶数时,$S_{i, j} = $
. - Q 为整数
- 1≤Q≤7000
- 1≤Ui≤Di≤2N+1
- 1≤Li≤Ri≤2N+1
- Ui,Di,Li,Ri 均为奇数。
由 ChatGPT 5 翻译
输入解题思路,AI测评打分。不知道怎么写?