7071.Maximum Building II

Time Limit: 1s Memory Limit: 512MB

You are given a map of a forest where some squares are empty and some squares have trees.

You want to place a rectangular building in the forest so that no trees need to be cut down. For each building size, your task is to calculate the number of ways you can do this.

Input Format(From the terminal/stdin)

The first input line contains integers $n$ and $m$ : the size of the forest.

After this, the forest is described. Each square is empty ( . ) or has trees ( * ).

  • $1 \le n,m \le 1000$

Output Format(To the terminal/stdout)

Print $n$ lines each containing $m$ integers.

Sample Input

Copy
4 7
...*.*.
.*.....
.......
......*
 · \n
       \n
       \n
       \n
       \n

Sample Output

Copy
24 17 13 9 6 3 1 
16 9 7 5 3 1 0 
9 3 2 1 0 0 0 
3 0 0 0 0 0 0
  ·  ·  · · · · \n
  · · · · · · \n
 · · · · · · \n
 · · · · · · \n

For example, there are $5$ possible places for a building of size $2 \times 4$ .

Source: CSES, Additional Problems II, 1148

Submit

请先 登录

© 2025 FAQs