IOI'94 - Day 1 - Problem 2: The Castle
1 2 3 4 5 6 7
#############################
1 # | # | # | | #
#####---#####---#---#####---#
2 # # | # # # # #
#---#####---#####---#####---#
3 # | | # # # # #
#---#########---#####---#---#
4 # -># | | | | # #
############################# (Figure 1)
# = Wall
| = No wall
- = No wall
-> = It points to the wall to remove according to the example output.
Figure 1 shows the map of a castle. Write a program that calculates
- how many rooms the castle has
- how big the largest room is
- which wall to remove from the castle to make as large a room as
possible.
square modules. Each such module can have between zero and four walls.
Input Data
The map is stored in the INPUT.TXT file in theform of numbers, one for each module.
- The file starts with the number of modules in the north-south direction and
the number of modules in the east-west direction. - In the following lines each module is described by a number
(0<=p<=15). This number is the sum of: 1 (= wall to the west), 2 (= wall
to the north), 4 (= wall to the east), 8 (= wall to the south). Inner walls are
defined twice; a wall to the south in module 1,1 is also indicated as a wall to
the north in module 2,1. - The castle always has at least two rooms.
for our example:
4
7
11 6 11 6 3 10 6
7 9 6 13 5 15 5
1 10 12 7 13 7 5
13 11 10 8 10 12 13
Output Data
In the OUTPUT.TXT file, the following are writtenon three lines: First the number of rooms, then the area of the largest room
(counted in modules) and a suggestion of which wall to remove (first the row and
then the column of the module next to the wall and finally the compass direction
that points to the wall). In our example ("4 1 E" is one of several
possibilities, you need only produce one):
5
9
4 1 E