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:
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.
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.
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.
Sample input: 1 3 4 0001 0011 0110 Sample output: 3 2 1 0 2 1 0 0 1 0 0 1
Aqib Ahmed J:
Took a while to realize how exactly but AC in one go :) 0.04s !!
Silly error .....
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
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.
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?
wtf nothing is working neither brute force nor bfs
nice beginner level graph problem...
Last edit: 2015-10-27 14:39:10
bfs using queue 0.20 AC! :D
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