Submission #48139371


Source Code Expand

Copy
N,Q = gets.split.map(&:to_i)
BW = N.times.map{ gets.chomp.bytes.map{|b| 1-(b&1) }*2 }*2
S1 = BW.sum(&:sum)/4
S = BW.map{|r| r.inject([0]){|s,b| s<<s[-1]+b } }.inject([[0]*(N+N+1)]){|s,r|
s<<s[-1].zip(r).map(&:sum)
}
T = lambda{|h,w|
s = (h/N)*(w/N)*S[N][N]
s += (w/N)*S[h%N][N]
s += (h/N)*S[N][w%N]
s += S[h%N][w%N]
next s
}
F = lambda{|i,j,h,w|
T[i+h,j+w]-T[i,j+w]-T[i+h,j]+T[i,j]
}
puts Q.times.map{
i0,j0,i1,j1 = gets.split.map(&:to_i)
h = i1-i0+1
w = j1-j0+1
next F[i0%N,j0%N,h,w]
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
N,Q = gets.split.map(&:to_i)
BW = N.times.map{ gets.chomp.bytes.map{|b| 1-(b&1) }*2 }*2
S1 = BW.sum(&:sum)/4
S = BW.map{|r| r.inject([0]){|s,b| s<<s[-1]+b } }.inject([[0]*(N+N+1)]){|s,r|
	s<<s[-1].zip(r).map(&:sum)
}
T = lambda{|h,w|
	s = (h/N)*(w/N)*S[N][N]
	s += (w/N)*S[h%N][N]
	s += (h/N)*S[N][w%N]
	s += S[h%N][w%N]
	next s
}
F = lambda{|i,j,h,w|
	T[i+h,j+w]-T[i,j+w]-T[i+h,j]+T[i,j]
}
puts Q.times.map{
	i0,j0,i1,j1 = gets.split.map(&:to_i)
	h = i1-i0+1
	w = j1-j0+1
	next F[i0%N,j0%N,h,w]
}

Submission Info

Submission Time
Task D - Tile Pattern
User ds14050
Language Ruby (ruby 3.2.2)
Score 450
Code Size 520 Byte
Status AC
Exec Time 1188 ms
Memory 113652 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 450 / 450
Status
AC × 2
AC × 16
Set Name Test Cases
Sample 00_sample_00.txt, 00_sample_01.txt
All 00_sample_00.txt, 00_sample_01.txt, 01_corner_00.txt, 01_corner_01.txt, 01_corner_02.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, 03_max_00.txt, 03_max_01.txt, 04_n_small_00.txt, 04_n_small_01.txt, 04_n_small_02.txt
Case Name Status Exec Time Memory
00_sample_00.txt AC 42 ms 17300 KB
00_sample_01.txt AC 42 ms 17216 KB
01_corner_00.txt AC 466 ms 19956 KB
01_corner_01.txt AC 42 ms 16812 KB
01_corner_02.txt AC 43 ms 17096 KB
02_random_00.txt AC 506 ms 34440 KB
02_random_01.txt AC 371 ms 35576 KB
02_random_02.txt AC 276 ms 22196 KB
02_random_03.txt AC 184 ms 22120 KB
02_random_04.txt AC 468 ms 58348 KB
02_random_05.txt AC 640 ms 53936 KB
03_max_00.txt AC 1182 ms 113652 KB
03_max_01.txt AC 1188 ms 113580 KB
04_n_small_00.txt AC 427 ms 19364 KB
04_n_small_01.txt AC 429 ms 19536 KB
04_n_small_02.txt AC 428 ms 19664 KB


2025-04-08 (Tue)
22:57:24 +00:00