In recent days, a number of people have
been injured after being pushed off the sidewalks due to overcrowding.
City Hall is interested in figuring out how much pedestrian traffic its
sidewalks receive every day. The results of this study will be used to
determine whether the city needs to fund more sidewalks. The city has
surveyed various buildings in several blocks to determine the traffic
patterns they generate. Your job is to take this survey data and convert
it into sidewalk utilization information.
Your program will read in the
size of the map and a map of several city blocks. Buildings, streets, and
building entrance/exits will be marked on the map. You will also be given
a list of pedestrian load between several pairs of exits and entrances.
Your program will determine the paths used by pedestrians between each
source and destination, add up the total pedestrian load from all paths
using each street, and output a table of the total pedestrian load on each
square.
Line 1: X Y
X is the number of columns in the map, Y is the
number of rows. Each is a positive integer less than 20.
Lines 2-(Y+1):
Each line contains exactly X symbols indicating the contents of that square
on the map. The symbols are:
X: building, non-entrance/exit
.: (period) street
{A-O}: letter indicating exit/entrance. Each letter may occur at
most once.
Lines (Y+2)-?:
Each line indicates a pedestrian route and
specifies a source, destination, and pedestrian load. Source and
destination will each be a letter {A-O} with no spaces in
between. The
load factor will be a nonnegative integer, separated from the destination
by whitespace. Source and destination will never be equal. At most 25
routes will be given. There will be a valid path in the map for each
requested route.
The test case will terminate with the line:
XX 0
After this line, a next test case can follow.
The input file is terminated by two zeros in place of a map size.
The output consists of Y lines, each with X space-separated fields
indicating the load factor. Each load factor is printed to two decimal
places with 3 spaces for integer digits (C 6.2 format).
4 4 .... A.X. XXX. B... AB 2 BA 1 XX 0 0 0
1.50 3.00 3.00 3.00 0.00 1.50 0.00 3.00 0.00 0.00 0.00 3.00 0.00 3.00 3.00 3.00
Migrated from old NTUJ.
No. | Testdata Range | Score |
---|