VBOARD - Bàn cờ
Tác giả: ll931110
Ngôn ngữ: Pascal
Program VBOARD;
Const
input = '';
output = '';
Var
a,s: array[0..500,0..500] of longint;
n,q: longint;
Procedure optimize;
Var
i,j: longint;
Begin
Fillchar(s, sizeof(s), 0);
For i:= 1 to n do
For j:= 1 to n do
Begin
s[i,j]:= s[i - 1,j] + s[i,j - 1] - s[i - 1,j - 1];
If odd(i + j) then s[i,j]:= s[i,j] - a[i,j]
else s[i,j]:= s[i,j] + a[i,j];
End;
End;
Procedure solve;
Var
fi,fo: text;
t,i,j,k: longint;
i1,i2,j1,j2: longint;
Begin
Assign(fi, input);
Reset(fi);
Readln(fi, n);
For i:= 1 to n do
For j:= 1 to n do read(fi, a[i,j]);
optimize;
Assign(fo, output);
Rewrite(fo);
Readln(fi, q);
For k:= 1 to q do
Begin
Readln(fi, i1, j1, i2, j2);
t:= s[i2,j2] - s[i1 - 1,j2] - s[i2,j1 - 1] + s[i1 - 1,j1 - 1];
Writeln(fo, abs(t));
End;
Close(fo);
Close(fi);
End;
Begin
solve;
End.