AT_abc464_b.Crop

入门

通过率:0%

时间限制:2.00s

内存限制:1024MB

AC君温馨提醒

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

题目描述

有一张高度为 HH 像素、宽度为 WW 像素的黑白图像。第 ii 行(从上往下数)第 jj 列(从左往右数)的像素颜色由字符 Ci,jC_{i,j} 表示,其中 . 表示白色,# 表示黑色。

从该图像的上、下、左、右四条边界开始,依次删除所有像素均为白色的行或列。具体按以下顺序执行操作:

  1. 当图像最上方的一行全部为白色时,重复删除最上方的一行;
  2. 当图像最下方的一行全部为白色时,重复删除最下方的一行;
  3. 当图像最左侧的一列全部为白色时,重复删除最左侧的一列;
  4. 当图像最右侧的一列全部为白色时,重复删除最右侧的一列。

输出处理后的图像。

给定的图像中至少包含一个黑色像素。

输入格式

输入从标准输入中按以下格式给出:

HH WW
C1,1C1,2C1,WC_{1,1}C_{1,2}\ldots C_{1,W}
C2,1C2,2C2,WC_{2,1}C_{2,2}\ldots C_{2,W}
\vdots
CH,1CH,2CH,WC_{H,1}C_{H,2}\ldots C_{H,W}

输出格式

以以下格式输出处理后的图像。
其中,hhww 分别表示处理后图像的高度和宽度(单位:像素)。
ci,jc_{i,j} 表示第 ii 行(从上往下数)第 jj 列(从左往右数)处像素的颜色字符;若该像素为白色,则 ci,jc_{i,j} 必须为 .;若为黑色,则必须为 #

c1,1c1,2c1,wc_{1,1}c_{1,2}\ldots c_{1,w}
c2,1c2,2c2,wc_{2,1}c_{2,2}\ldots c_{2,w}
\vdots
ch,1ch,2ch,wc_{h,1}c_{h,2}\ldots c_{h,w}

输入输出样例

  • 输入#1

    4 5
    .....
    ..#..
    .###.
    .....

    输出#1

    .#.
    ###
  • 输入#2

    3 4
    #...
    ....
    ...#

    输出#2

    #...
    ....
    ...#
  • 输入#3

    5 6
    ......
    ......
    ...#..
    ......
    ......

    输出#3

    #

说明/提示

样例 1 解释:
你需要从图像的上边缘移除一行,从下边缘移除一行,从左边缘移除一列,从右边缘移除一列。

样例 2 解释:
在此图像中,最上方的一行、最下方的一行、最左侧的一列以及最右侧的一列均包含黑色像素。
因此,无需移除任何行或列,应直接输出原始图像。

约束条件

  • 1H,W501 \le H, W \le 50
  • Ci,jC_{i,j}.#
  • 至少存在一个黑色像素。

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

首页