BITMAP  Bitmap
There is given a rectangular bitmap of size n*m. Each pixel of the bitmap is either white or black, but at least one is white. The pixel in ith line and jth column is called the pixel (i,j). The distance between two pixels p_{1}=(i_{1},j_{1}) and p_{2}=(i_{2},j_{2}) is defined as:
Task
Write a program which:
 reads the description of the bitmap from the standard input,
 for each pixel, computes the distance to the nearest white pixel,
 writes the results to the standard output.
Input
The number of test cases t is in the first line of input, then t test cases follow separated by an empty line. In the first line of each test case there is a pair of integer numbers n, m separated by a single space, 1<=n <=182, 1<=m<=182. In each of the following n lines of the test case exactly one zeroone word of length m, the description of one line of the bitmap, is written. On the jth position in the line (i+1), 1 <= i <= n, 1 <= j <= m, is '1' if, and only if the pixel (i,j) is white.
Output
In the ith line for each test case, 1<=i<=n, there should be written m integers f(i,1),...,f(i,m) separated by single spaces, where f(i,j) is the distance from the pixel (i,j) to the nearest white pixel.
Example
Sample input: 1 3 4 0001 0011 0110 Sample output: 3 2 1 0 2 1 0 0 1 0 0 1
hide comments
sipian:
20170603 22:19:12
a good question 

botstar:
20170529 22:43:09
got 15 TLEs....mistake == using iosbase and scnf together...fkcu...c++.. 

akash619j:
20170529 09:20:25
Little tricky even after you know its bfs! 

s407189:
20170403 12:01:56
it could use some more examples. Does it even test for more than one data set ? 

vengatesh15:
20170327 12:35:45
AC in 1 go using BFS 

nilabja16180:
20170219 16:51:59
Awesome 0 1 BFS implementation Last edit: 20170219 16:52:09 

scorpion_ajay:
20170214 12:42:59
must try, learned a lot from this single problem :) 

manish_hacked:
20170206 05:40:43
Very good question for learning bfs!!


nikunjsoni:
20170125 15:35:48
Good Question to learn BFS on matrix...


ashishsb95:
20170121 16:00:38
the trick was not to use multiple bfs calls :/ 
Added by:  Piotr Ćowiec 
Date:  20040913 
Time limit:  4s 
Source limit:  50000B 
Memory limit:  1536MB 
Cluster:  Cube (Intel G860) 
Languages:  All 
Resource:  6th Polish Olympiad in Informatics, stage 2 