1227 : 字符空心化

时间限制:1 Sec 内存限制:128 MiB 提交:8 正确:8

提交 状态 论坛

题目描述

美工中经常使用空心字,一般而言,空心字是指在保持字符笔划边缘不变的

前提下,将字符笔划内部“掏空”,如下图所示,左边上下是普通实心字与空心

字的对比,右边则是空心字放大后显示的效果。

如果字符的空心位置不需要填上另一种颜色,其实就是除了留下外部轮廓
外,去掉了图像中的全部内部像素,当然有很多软件如 Word 等绘制字符时都能
根据字符的详细笔划很轻松地做出空心字效果,但是如果是先给定一个实心字符
图像的点阵信息,倒过来需要将非轮廓的像素全部抠掉才能得到空心字符。
程序直接输入二值图像的点阵信息,其中:黑色笔划的像素点用 1 表示,白
色背景像素点则用 0 表示。

输入描述

第 1 行:用空格分开的 2 个整数 m n,代表图像有 m 行 n 列像素

接下来 m 行数据,每行有 n 个连续的 0 或者 1,代表从左上角到右下角各

行像素点阵的信息,$5 \leq m, n \leq 100$。

输出描述

第 1 行:一个整数 c,代表空心化过程从该图像中共抠去的像素个数

接下来 m 行数据,每行有 n 个连续的 0 或者 1,代表空心化后,从左上角

到右下角各行像素点阵的信息

=>其中抠掉的像素也用 0 表示

样例输入

12 6
000011
000111
001111
111111
000111
000111
000111
000111
000111
000111
000111
000111

样例输出

12
000011
000101
001001
111001
000101
000101
000101
000101
000101
000101
000101
000111