Submit | All submissions | Best solutions | Back to list |
BOMB - Bomb the Bridge |
You want to destroy a bridge with bombs. The lower-left corner of the bridge is at (0,0) and the upper-right corner is at (w, l). There are already b bombs exploded, the i-th bomb created a hole of radius ri centering at (xi, yi). You want to throw exactly one more bomb so that the bridge is split into two connected parts(though the two parts can share a finite number of points), so that no one can go through the bridge from y = 0 to y = l. Your task is to find the minimal radius of the last bomb to split the bridge, assuming that the last bomb can explode precisely at the position you want (possibly at non-integer coordinates). Note that you are only allowed to use bombs with integer radius. That is, even if a bomb with radius 1.01 is sufficient, you have to use a bomb with radius 2, since you only have bombs with integer radius.
Input
The first line contains t (1≤t≤10), the number of test cases followed. Each test case begins with three integers w, l, b (1≤w,1≤100, 0≤b≤10). Each of the following b lines contains three integers integers xi, yi, ri (0≤x≤w, 0≤y≤l, 0<r≤100). The bridge is guaranteed to be connected before the last bomb.
Output
For each test case, print the minimal radius of the last bomb.
Example
Input: 3
100 100 2
15 50 20
90 50 30
100 100 1
50 50 40
100 100 1
10 50 10 Output: 13
50
40
Added by: | 3xian |
Date: | 2009-10-31 |
Time limit: | 1s |
Source limit: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Languages: | All except: ASM64 NODEJS OBJC PERL6 SQLITE VB.NET |
Resource: | Zhuhai Contest 2008 |