/ MYOJ / 题库 /

[b6e0OJ]流感

[b6e0OJ]流感

测试数据来自 b6e0_OJ/1012

题目描述

b6e0所在的城市突然爆发了一种流感。城市里的人可以表示为一个\(n\)行\(m\)列的矩阵,每个格子代表一个人。
一开始,其中某些人是感染的,某些人则没有感染。如果对于一个没有感染的人\((i,j)\),与他相邻(上下左右)的人中有两个及以上的感染者,那么他一定会被传染;否则一定不会。
现在,请求出在经过多少轮传染后,所有人都没有感染。
“一轮传染”定义为:对于所有没有感染的人\((i,j)\),如果它会被传染,则变为感染的状态。对于所有感染上的人,因为会被治好,所以变为没有感染的状态。
请注意传染的顺序:传染是发生在治好之前的,并且新被传染的人不会被治好。即先由感染者传染,再对原感染者染者消除感染,新感染者不会消除感染。

输入格式

第一行输入\(n\)和\(m\),表示的矩阵行数与列数。
下面输入\(n\)行,每行一个长度为\(m\)的一个字符串。若第\(i\)行第\(j\)列的字符为\(1\),说明第\(i\)行第\(j\)列的人在刚开始就被感染;否则第\(i\)行第\(j\)列的人在刚开始未被感染。

输出格式

输出所有人都没有感染的轮数。如果无法使没有人感染,输出INF。

输入输出样例1

输入

3 3
010
101
010

输出

INF

输入输出样例2

输入

2 5
01011
01000

输出

2

样例解释

第一次传染后,矩阵为:

00100
00000

第二次传染后,矩阵为:

00000
00000

所以两轮后将没有人感染。

数据范围

对于100%的数据满足,\(n,m\le100\)。
对于第1~3个测试点,\(n,m\le10\)。
对于第4~6个测试点,保证答案要么是INF,要么\(\le10\)。
对于第7~10个测试点,无特殊限制。

贡献者

题面,数据:b6e0
核题:Ducati

信息

ID
1045
难度
9
分类
(无)
标签
递交数
1
已通过
1
通过率
100%
上传者