E. 画画油漆桶2

    传统题 1000ms 256MiB

画画油漆桶2

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

有一个尺寸为 n×mn \times m 的长方形画布,每个像素点的颜色用 00255255 之间的整数表示。现在对画布执行一次油漆桶操作:点击某个像素点 (x,y)(x, y),该点的颜色会被修改为目标颜色(即点击时的颜色 cc),且油漆桶会按照以下规则向四周扩散:

  1. 扩散规则:从当前像素点出发,只能向上下左右四个方向的相邻像素扩散;
  2. 扩散条件:相邻像素的颜色与目标颜色 cc 的差值的绝对值不超过 dd(即 相邻像素颜色cd|相邻像素颜色 - c| \leq d);
  3. 时间计算:初始点击的像素点修改时间为 00,每向外扩散一个像素点,所需时间增加 11 个单位(例如,从 (x,y)(x,y) 扩散到相邻像素需要 11 单位时间,再扩散到下一层需要 22 单位时间,以此类推)。

请计算画布上每个像素点被修改的最近时间(即首次被扩散到的时间)。若像素点未被修改,则输出 1-1

输入格式

  • 第一行包含两个整数 nnmm1n,m10001 \leq n, m \leq 1000),表示画布的行数和列数。
  • 接下来 nn 行,每行包含 mm 个整数 ci,jc_{i,j}0ci,j2550 \leq c_{i,j} \leq 255),表示画布的初始颜色。
  • 最后一行包含三个整数 x,y,dx, y, d1xn1 \leq x \leq n, 1ym1 \leq y \leq m, 0d2550 \leq d \leq 255),表示点击的像素点坐标(11-based)和扩散阈值 dd

输出格式

输出 nn 行,每行 mm 个整数,表示每个像素点被修改的最近时间。未被修改的像素点输出 1-1

样例

样例输入

3 4  
5 3 4 3 
2 4 7 3
1 8 9 5
2 2 1 

样例输出

2 1 2 3 
-1 0 -1 4
-1 -1 -1 5

数据范围与提示

  • 数据范围1n,m10001 \leq n, m \leq 10000ci,j,d2550 \leq c_{i,j}, d \leq 2551xn1 \leq x \leq n1ym1 \leq y \leq m

L3进班测试

未参加
状态
已结束
规则
IOI
题目
6
开始于
2025-8-24 15:00
结束于
2025-9-6 3:00
持续时间
300 小时
主持人
参赛人数
17