Submission #69078973
Source Code Expand
N,Q = gets.split.map(&:to_i)
G = N.times.map{ gets.chomp.chars.map{|c| c==?. } }
H = G.each_cons(2).map{|r0,r1|
r0.each_cons(2).zip(r1.each_cons(2)).map{|(c0,c1),(c2,c3)|
c0&&c1&&c2&&c3 ? 1 : 0
}<<0
}<<[0]*N
S = H.inject([[0]*(N+1)]){|ss,r|
ss<<ss[-1].zip(r.inject([0]){|s,c| s<<s[-1]+c }).map(&:sum)
}
SR = H.map{|r| r.inject([0]){|s,c| s<<s[-1]+c } }
SC = H.transpose.map{|c| c.inject([0]){|s,c| s<<s[-1]+c } }
puts Q.times.map{
i0,i1,j0,j1 = gets.split.map(&:to_i)
i0 -= 1
j0 -= 1
next S[i1][j1]-S[i1][j0]-S[i0][j1]+S[i0][j0]-
(SR[i1-1][j1]-SR[i1-1][j0])-
(SC[j1-1][i1]-SC[j1-1][i0])+
H[i1-1][j1-1]
}
Submission Info
| Submission Time | |
|---|---|
| Task | A - 2x2 Erasing |
| User | ds14050 |
| Language | Ruby (ruby 3.2.2) |
| Score | 400 |
| Code Size | 640 Byte |
| Status | AC |
| Exec Time | 662 ms |
| Memory | 38260 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 400 / 400 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | 00_sample_00.txt, 00_sample_01.txt |
| All | 00_sample_00.txt, 00_sample_01.txt, 01_handmade_00.txt, 01_handmade_01.txt, 01_handmade_02.txt, 01_handmade_03.txt, 01_handmade_04.txt, 02_random_00.txt, 02_random_01.txt, 02_random_02.txt, 02_random_03.txt, 02_random_04.txt, 02_random_05.txt, 02_random_06.txt, 02_random_07.txt, 02_random_08.txt, 02_random_09.txt, 02_random_10.txt, 02_random_11.txt, 02_random_12.txt, 02_random_13.txt, 02_random_14.txt, 02_random_15.txt, 02_random_16.txt, 02_random_17.txt, 02_random_18.txt, 02_random_19.txt, 02_random_20.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 00_sample_00.txt | AC | 46 ms | 17328 KiB |
| 00_sample_01.txt | AC | 47 ms | 17444 KiB |
| 01_handmade_00.txt | AC | 321 ms | 20324 KiB |
| 01_handmade_01.txt | AC | 567 ms | 37836 KiB |
| 01_handmade_02.txt | AC | 45 ms | 17204 KiB |
| 01_handmade_03.txt | AC | 625 ms | 37956 KiB |
| 01_handmade_04.txt | AC | 557 ms | 37624 KiB |
| 02_random_00.txt | AC | 543 ms | 29520 KiB |
| 02_random_01.txt | AC | 368 ms | 22056 KiB |
| 02_random_02.txt | AC | 615 ms | 36004 KiB |
| 02_random_03.txt | AC | 359 ms | 21660 KiB |
| 02_random_04.txt | AC | 324 ms | 20244 KiB |
| 02_random_05.txt | AC | 662 ms | 38260 KiB |
| 02_random_06.txt | AC | 647 ms | 37812 KiB |
| 02_random_07.txt | AC | 648 ms | 37952 KiB |
| 02_random_08.txt | AC | 648 ms | 37604 KiB |
| 02_random_09.txt | AC | 642 ms | 37888 KiB |
| 02_random_10.txt | AC | 553 ms | 36936 KiB |
| 02_random_11.txt | AC | 556 ms | 37476 KiB |
| 02_random_12.txt | AC | 558 ms | 37648 KiB |
| 02_random_13.txt | AC | 554 ms | 37684 KiB |
| 02_random_14.txt | AC | 547 ms | 36656 KiB |
| 02_random_15.txt | AC | 556 ms | 37656 KiB |
| 02_random_16.txt | AC | 551 ms | 37660 KiB |
| 02_random_17.txt | AC | 545 ms | 36388 KiB |
| 02_random_18.txt | AC | 547 ms | 37748 KiB |
| 02_random_19.txt | AC | 547 ms | 37756 KiB |
| 02_random_20.txt | AC | 641 ms | 37928 KiB |