printРабочее место участника

printЗадачи

1617. Parking

Ограничения: время – 1s/2s, память – 32MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение 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
loading