画画油漆桶2
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题目描述
有一个尺寸为 的长方形画布,每个像素点的颜色用 到 之间的整数表示。现在对画布执行一次油漆桶操作:点击某个像素点 ,该点的颜色会被修改为目标颜色(即点击时的颜色 ),且油漆桶会按照以下规则向四周扩散:
- 扩散规则:从当前像素点出发,只能向上下左右四个方向的相邻像素扩散;
- 扩散条件:相邻像素的颜色与目标颜色 的差值的绝对值不超过 (即 );
- 时间计算:初始点击的像素点修改时间为 ,每向外扩散一个像素点,所需时间增加 个单位(例如,从 扩散到相邻像素需要 单位时间,再扩散到下一层需要 单位时间,以此类推)。
请计算画布上每个像素点被修改的最近时间(即首次被扩散到的时间)。若像素点未被修改,则输出 。
输入格式
- 第一行包含两个整数 和 (),表示画布的行数和列数。
- 接下来 行,每行包含 个整数 (),表示画布的初始颜色。
- 最后一行包含三个整数 (, , ),表示点击的像素点坐标(-based)和扩散阈值 。
输出格式
输出 行,每行 个整数,表示每个像素点被修改的最近时间。未被修改的像素点输出 。
样例
样例输入
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
数据范围与提示
- 数据范围:,,,。