I |
Crossing
Streets EXTREME Input: Standard Input Output: Standard Output |
Many
of you probably know Peter Longfoot, who was a student in
Figure
1: The green arrow shows one optimal path to go from A to B. The red arrow
and magenta arrow show two possible invalid paths. The red path is invalid
because walking through the crossing of two or more streets is not allowed
and the magenta path is invalid because walking along the street is invalid. |
Figure
2: The square marked places are crowded places. The crowded place at (1,1)
has crowding index 5 and the crowded place at (1,7) has crowding index 10. So
now the new minimum cost path from A to B is shown in dark green. Red color
denotes the streets whose costs have been increased due to crowded places. |
Figure 1 has four streets. If Peter’s house is at A and his University is at B then he requires crossing minimum two streets. By default the cost of crossing a street is 1 so his total cost of reaching his university is 2. Peter never walks through a street crossing and also he never walks along the street. In Figure 2 there are two crowded places, one at C(1, 1) and the other at D(1,7). The crowding index of C is 5 and the crowding index of D is 10. So now the road segments adjacent to C has crossing cost (5+1)=6 and the road segments adjacent to D has crossing cost (1+10)=11. A road segment is adjacent to a crowded place if that road segment can be reached from the crowded place without crossing any other street. Given the road map of Chingchuk, the coordinate of Peter’s home and university and the coordinate and crowding index of the crowded places your job is to find the minimum cost that Peter needs to reach his university.
The input file contains at most 100 sets of inputs. Most cases are not extreme (N is much less than 40). The description of each set is given below:
First line of each set contains three integers N (2 ≤ N ≤ 35), C (0 ≤ C ≤ 1000) and Q (0 ≤ Q ≤ 10). The integer N indicates how many streets are there, C indicates the number of crowded places and Q indicates the total number of queries. Each of the next N lines contains three integers (1 ≤ i ≤ N and 0 ≤≤ 1000000 and both a and b will never be zero) which indicates that the equation of the i-th street is . Each of the next C lines contains three integers. This means that there is a crowded place at location and it increases the crossing costs of adjacent road segments by(1 ≤≤ 20). Each of the next Q lines contains four integers, which implies that for that specific query the coordinate of Peter’s home is and the coordinate of Peter’s university is . You can assume that Peter’s home, Peter’s University and the crowded places are never situated on a street and also no two streets are parallel two each other. You can also assume that absolute values of all coordinates are not greater than 1000.
Input is terminated by a set where the value of N=C=Q=0.
4 0 1 1 -1 5 3 5 15 5 3 -15 1 -3 -3 -5 3 4 3 4 2 2 1 -1 5 3 5 15 5 3 -15 1 -3 -3 1 1 5 1 7 10 -5 3 4 3 1 9 4 3 4 3 4 1 -1 5 3 5 15 5 3 -15 1 -3 -3 1 1 5 1 7 10 1 8 18 -5 3 4 3 1 9 4 3 1 2 1 11 1 11 1 12 0 0 0
|
Case 1: 2 Case 2: 6 11 Case 3: 6 29 35 0 |
Problemsetter: Shahriar Manzoor
Special Thanks: Derek Kisman