Submission details
Task:Forest density
Sender:aalto26dm_040
Submission time:2026-09-21 17:34:08 +0300
Language:Python3 (CPython3)
Status:READY
Result:
Test results
testverdicttime
#1ACCEPTED0.02 sdetails
#2--details
#3--details

Code

buffer = input().split()
n = int(buffer[0])
q = int(buffer[1])
forest = []
for _ in range(n):
    forest.append(input())
queries = []
for _ in range(q):
    queries.append(list(map(int,input().split())))

rectangles = [[0 for _ in range(n+1)] for _ in range(n+1)]
for i in range(1,n+1):
    line_count = 0
    for j in range(1,n+1):
        if forest[i-1][j-1] == '*':
            line_count += 1
        rectangles[i][j] += line_count
        if i > 0:
            rectangles[i][j] += rectangles[i-1][j]

for query in queries:
    res = rectangles[query[2]][query[3]]
    res += rectangles[query[0]-1][query[1]-1]
    res -= rectangles[query[0]-1][query[3]]
    res -= rectangles[query[2]][query[1]-1]
    print(res)
#print(rectangles)

Test details

Test 1

Verdict: ACCEPTED

input
10 100
**.*.*.**.
*.**.*..*.
.*****.**.
**....***.
...

correct output
10
14
5
7
8
...

user output
10
14
5
7
8
...

Test 2

Verdict:

input
1000 200000
**.**.****..**.***..**.***.**....

correct output
41079
2824
15631
1548
8483
...

user output
(empty)

Test 3

Verdict:

input
1000 200000
******************************...

correct output
1000000
1000000
1000000
1000000
1000000
...

user output
(empty)