#P12049. KMN の培养皿
KMN の培养皿
Description
有一个 的有色矩阵
连通块是你熟知的网格图四连通定义:从一个单元格 开始,每次走到曼哈顿距离不超过 的同色单元格,若能走到另一个单元格 ,则这两个单元格 在同一连通块。
有 次操作。
- 单点修改操作:修改单元格 的颜色。
- 区域查询操作:给出 ,问如果只保留 行与 列交部分的子矩阵,会有多少个连通块。注意:按照上述定义判定两个单元格是否在同一连通块时,不能走到被查询区域之外。
查询操作互相独立。
Input Format
第一行一个正整数 。
接下来 行,每行 个小写字母,表示有色矩阵。矩阵中颜色不超过 种,分别对应 个小写字母。
接下来一行一个正整数 ,表示操作个数。
接下来 行每行先是一个正整数 ,表示操作类型。
- 修改操作,,同行接下来两个正整数 和一个字符 ,表示修改 字符为 。
- 查询操作,,同行接下来四个正整数 ,含义如上。
Output Format
行每行一个正整数表示答案。保证 类操作恰好占到一半。
1
a
1
2 1 1 1 1
1
4
aabb
aaaa
aaaa
bbaa
3
2 1 1 4 4
2 2 2 3 3
2 1 1 2 4
3
1
2
5
aaaaa
ababa
aabaa
ababa
aaaaa
9
2 1 1 5 5
1 3 3 a
2 1 1 5 5
1 2 3 b
1 4 3 b
1 3 2 b
1 3 4 b
2 1 1 5 5
2 3 1 3 5
6
5
3
5
Hint
本题满分为 分。
对于 的数据:
。
。
保证 操作个数相等。
本题 SubTask 只是为了把同规模数据分到一起,不存在捆绑关系。
测试点信息
|SubTask 编号|||
|:-:|:-:|:-:|
||||
||||
||||
||||
||||
||||
||||
||||
||||
||||
对于 的数据,保证 KMN 是生竞大神,即使对于 的培养皿也能准确无误地观测到每个格子及变化。
本题采用 Special Judge。当一个测试点有 次 II 类操作时对于一次 II 类操作,若您的答案和标准答案一致,那么您获得 的分数。
因此,若您的程序无法解决某次查询问题,请输出一行单个整数(需在 int 范围内),以保证后面的询问能正常获得分数。
京公网安备 11011102002149号