Parking
Ограничения: время – 1s/2s, память – 32MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод
Послать решение Blockly Посылки Темы Где Обсудить (0)
Mirko got his drivers license! To celebrate that joyous occasion, his parents
bought him his first car: a monster truck! Mirko found out that even though
having a car that can squash all other cars is nice in traffic jams, parking a
car that is the size of 4 normal cars can be a bit tricky.
His friend, Slavko, works part time in the city parking company. He
periodically sends Mirko a map of the city with occupied parking spaces
marked. The map can be represented as a table with `R` rows, `C` columns each.
Each cell can contain a building (symbol '#'), a parked car (symbol 'X') or a
free parking space (symbol '.'). A monster truck is quite huge, 2 by 2 cells
to be exact.
Help Mirko calculate the number of possible parking space grouped by the
number of cars he needs to squash to park in them. We are only interested in
the number of cars Mirko will squash on the parking space, not the number
of cars he will squash on the way over. However, Mirko can't park on a
building. Not even a monster truck is large enough to squash buildings!
Input
The first line of input contains two integers, `R` and `C` (`2\ ≤\ R,\ C\ ≤\ 50`), the
number of rows and columns of the map.
The second `R` lines contain `C` characters each. Only characters '#', 'X' and '.'
appear in the input. Note that 'X' will always be capital.
Output
The output consists of five lines, the total number of parking spaces Mirko
can park on if he squashes 0 cars (first line), 1 car (second line), 2 cars (third
line), 3 cars (fourth line), 4 cars (fifth line).
Sample Input 1
4 4
#..#
..X.
..X.
#XX#
Sample Output 1
1
1
2
1
0
Sample Input 2
4 4
....
....
....
....
Sample Output 2
9
0
0
0
0
Sample Input 3
4 5
..XX.
.#XX.
..#..
.....
Sample Output 3
2
1
1
0
1
Source: COCI 2009/2010, contest #5