1971 最少水滴数
Submit solution
Points:
100
Time limit:
1.0s
Memory limit:
32M
Problem types
Allowed languages
C, C++, Java, Python
Description
在一个a*b的坐标区域内分布着一些水滴,水滴分大小二种,大水滴上如果滴入水滴,水滴就会爆裂,并分别向上、下、左、右四个方向直飞出去。飞散的水滴若撞上小水滴,则吸附在一起且不再飞散;若撞到大水滴,则引其爆裂,并继续按原方向直飞;如果飞出坐标区域,则水滴消失。爆裂水滴位置不再有水滴。 现在给你一滴水,由你选择滴在矩阵区域内的某个位置,求滴下水后区域内可能存在的最少水滴数。
Input
有多组数据,每组数据由长a和宽b(0≤a,b≤1000)后跟a*b个数字构成。数字只出现0,1,2这三种,表示矩阵区域中某坐标上无水滴、小水滴、大水滴的情况。如果a,b同时为0,则输入结束。
Output
对应每组数据,输出滴下一滴水后,区域内可能的最少水滴数。
Sample
Input
5 5
10210
02000
12122
01110
21121
5 5
10022
22001
00200
02000
12202
0 0
Output
15
7
Source: qn
Comments