AT_abc432_d.[ABC432D] Suddenly, A Tempest
提高+/省选-
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
有一个无限大的二维网格。如果一个格子的坐标 (x,y) 满足 0≤x≤X−1 且 0≤y≤Y−1,那么该格子为黑色,否则为白色。
有 N 场“大风暴”依次发生在该网格上。第 i 场大风暴会依据字符 Ci 和整数 Ai,Bi,按照下面的规则更新每个格子的颜色。
在第 i 场大风暴中,格子 (x,y) 在风暴过后颜色的更新规则如下:
- 当 Ci 为
X时,- 若 x<Ai,则该格子变为风暴发生前 (x,y+Bi) 的颜色;
- 若 x≥Ai,则该格子变为风暴发生前 (x,y−Bi) 的颜色。
- 当 Ci 为
Y时,- 若 y<Ai,则该格子变为风暴发生前 (x+Bi,y) 的颜色;
- 若 y≥Ai,则该格子变为风暴发生前 (x−Bi,y) 的颜色。
若两个黑色格子 (x1,y1),(x2,y2) 满足 ∣x1−x2∣+∣y1−y2∣=1,则称它们是相邻的。此外,如果可以通过多次移动到相邻的黑色格子,从格子 c1 走到格子 c2,那么称两个黑色格子 c1,c2 是连通的。
一个非空的黑色格子集合 S 是一个连通块,当且仅当 S 满足以下条件:
- S 内任意两格都连通;
- S 外的任意黑色格子都与 S 内的格子不连通。
请你计算所有 N 场大风暴后,网格上的连通块个数,并按升序输出每个连通块中的格子数量。
输入格式
从标准输入读取,输入格式如下:
N X Y C1 A1 B1
⋮
CN AN BN
输出格式
输出两行。
第一行输出黑色格子连通块的数量。
第二行按升序输出每个连通块的格子数,空格分隔。
输入输出样例
输入#1
2 3 5 X 2 2 Y -1 1
输出#1
2 2 13
输入#2
14 68875272 94216928 X 1630731 32914676 X 17164413 -33684569 X 26798060 5418308 X 34094469 -45675954 X 43889566 34125482 X 56836569 -22217058 X 64045210 27857939 Y -54561094 11587606 Y 93548188 32214521 Y -77361096 25750481 Y 27724899 1810420 Y 80945185 -7871305 Y 14782822 -2565089 Y 54687684 -22884393
输出#2
8 21105046168287 22050167303226 33624667752182 223328231190194 441936776830492 1141371400772596 1141702254882183 3464097998105256
说明/提示
样例解释 1
经过多次大风暴,网格如图所示(右为 x 轴正方向,上为 y 轴正方向)。

最终,存在如下两个连通块:
- 包含格子 (−1,−2),(0,−2) 的连通块;
- 包含格子 (1,−1),(1,0),(1,1),(1,2),(2,−1),(2,0),(2,1),(2,2),(3,2),(3,3),(3,4),(3,5),(3,6) 的连通块。
注意,每个连通块的格子数量须按升序输出。
样例解释 2
输出结果可能超过 32 位整数范围。
数据范围
- N,X,Y 是整数。
- 1≤N≤14
- 1≤X,Y≤108
- Ci 为
X或Y。 - Ai,Bi 是整数。
- −108≤Ai,Bi≤108。
由 ChatGPT 5 翻译
输入解题思路,AI测评打分。不知道怎么写?