AT_abc432_d.[ABC432D] Suddenly, A Tempest

提高+/省选-

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

有一个无限大的二维网格。如果一个格子的坐标 (x,y)(x, y) 满足 0≤x≤X−10 \leq x \leq X-1 且 0≤y≤Y−10 \leq y \leq Y-1,那么该格子为黑色,否则为白色。

有 NN 场“大风暴”依次发生在该网格上。第 ii 场大风暴会依据字符 CiC_i 和整数 Ai,BiA_i, B_i,按照下面的规则更新每个格子的颜色。

在第 ii 场大风暴中,格子 (x,y)(x, y) 在风暴过后颜色的更新规则如下:

  • 当 CiC_i 为 X 时,
    • 若 x<Aix < A_i,则该格子变为风暴发生前 (x,y+Bi)(x, y + B_i) 的颜色;
    • 若 x≥Aix \geq A_i,则该格子变为风暴发生前 (x,y−Bi)(x, y - B_i) 的颜色。
  • 当 CiC_i 为 Y 时,
    • 若 y<Aiy < A_i,则该格子变为风暴发生前 (x+Bi,y)(x + B_i, y) 的颜色;
    • 若 y≥Aiy \geq A_i,则该格子变为风暴发生前 (x−Bi,y)(x - B_i, y) 的颜色。

若两个黑色格子 (x1,y1),(x2,y2)(x_1, y_1), (x_2, y_2) 满足 ∣x1−x2∣+∣y1−y2∣=1|x_1 - x_2| + |y_1 - y_2| = 1,则称它们是相邻的。此外,如果可以通过多次移动到相邻的黑色格子,从格子 c1c_1 走到格子 c2c_2,那么称两个黑色格子 c1,c2c_1, c_2 是连通的。

一个非空的黑色格子集合 SS 是一个连通块,当且仅当 SS 满足以下条件:

  • SS 内任意两格都连通;
  • SS 外的任意黑色格子都与 SS 内的格子不连通。

请你计算所有 NN 场大风暴后,网格上的连通块个数,并按升序输出每个连通块中的格子数量。

输入格式

从标准输入读取,输入格式如下:

NN XX YY C1C_1 A1A_1 B1B_1
⋮\vdots
CNC_N ANA_N BNB_N

输出格式

输出两行。

第一行输出黑色格子连通块的数量。

第二行按升序输出每个连通块的格子数,空格分隔。

输入输出样例

  • 输入#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

经过多次大风暴,网格如图所示(右为 xx 轴正方向,上为 yy 轴正方向)。

最终,存在如下两个连通块:

  • 包含格子 (−1,−2),(0,−2)(-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)(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,YN, X, Y 是整数。
  • 1≤N≤141 \leq N \leq 14
  • 1≤X,Y≤1081 \leq X,Y \leq 10^8
  • CiC_i 为 X 或 Y。
  • Ai,BiA_i, B_i 是整数。
  • −108≤Ai,Bi≤108-10^8 \leq A_i, B_i \leq 10^8。

由 ChatGPT 5 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页