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 i-th line and j-th column is called the pixel (i,j). The distance between two pixels p1 = (i1, j1) and p2 = (i2, j2) 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 zero-one word of length m, the description of one line of the bitmap, is written. On the j-th 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 i-th 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
|
killjee_15:
2016-02-28 09:55:27
nice question to learn "MULTISOURCE BFS" |
|
Aqib Ahmed J:
2016-02-08 14:58:23
Took a while to realize how exactly but AC in one go :) 0.04s !! |
|
bunnycoder:
2016-01-29 22:09:37
Silly error .....
|
|
archit saxena:
2016-01-13 06:48:06
done with bfs using 0.03 sec but people might also try solving equation(try on paper and u will get easy graphical solution) mod(x1-x2)+mod(y1-y2)=z;and find the minimum value of z using binary search might work.if it works do comment |
|
dokz:
2016-01-08 14:23:29
Got WA at first, because of input. "then t test cases follow separated by an empty line". Note that there is a new line after every test case. |
|
utkarsh5:
2015-12-22 11:38:19
Can someone provide me some sample test cases, Im getting wrong answer even though my code produces correct answer for all the test cases Ive built so far? |
|
sunil:
2015-11-29 11:44:19
wtf nothing is working neither brute force nor bfs
|
|
vedang:
2015-11-27 22:40:26
nice beginner level graph problem... |
|
Advitiya:
2015-10-20 01:35:16
bfs using queue 0.20 AC! :D |
|
agspoj:
2015-09-22 08:58:27
I finally solved it. If someone is interested this is the testcase which caused problem: "1\n4 6\n100001\n100001\n100001\n100001". Last edit: 2015-10-13 20:36:44 |
Added by: | Piotr Ćowiec |
Date: | 2004-09-13 |
Time limit: | 4s |
Source limit: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Languages: | All |
Resource: | 6th Polish Olympiad in Informatics, stage 2 |