• 2766 再填格子

    时间限制 : 2000/1000 MS(Java/Others) | 内存限制 : 65536/32768 KB(Java/Others)

    提交数 : 880 | 通过数 : 346

    题目描述

    有一个由数字 01 组成的方阵中,存在一任意形状的封闭区域,封闭区域由数字1 包围构成,每个节点只能走上下左右 4 个方向。现要求只把【最大封闭区域】内的空间填写成2

    例如: 6×6 的方阵:

    6
    0 1 0 0 0 0
    1 0 1 1 1 1
    0 1 1 0 0 1
    1 1 0 0 0 1
    1 0 0 0 0 1
    1 1 1 1 1 1

     

    填写后如下:

    0 1 0 0 0 0
    1 0 1 1 1 1
    0 1 1 2 2 1
    1 1 2 2 2 1
    1 2 2 2 2 1
    1 1 1 1 1 1

     


    输入要求

    每组测试数据第一行一个整数 n(1n30)

    接下来 n 行,由 0 1 组成的 n×n 的方阵。

    封闭区域内至少有一个0,测试数据保证最大区域只有一个。


    输出要求

    已经填好数字 2 的完整方阵。(每个数字后面有一个空格!)


    输入样例

    6
    0 1 0 0 0 0
    1 0 1 1 1 1
    0 1 1 0 0 1
    1 1 0 0 0 1
    1 0 0 0 0 1
    1 1 1 1 1 1
    

    输出样例

    0 1 0 0 0 0
    1 0 1 1 1 1
    0 1 1 2 2 1
    1 1 2 2 2 1
    1 2 2 2 2 1
    1 1 1 1 1 1
    

    提示


    来源

    NBU OJ

    [ 返回顶端 ] | [ 代码提交 ] | [ 统计数据 ] | [ 历史提交 ]