From 6ac68433950bbb518b2932bca7f2114fb32d1700 Mon Sep 17 00:00:00 2001 From: wwan13 Date: Fri, 24 May 2024 13:47:41 +0900 Subject: [PATCH] =?UTF-8?q?solve=20:=2011660=20=EA=B5=AC=EA=B0=84=20?= =?UTF-8?q?=ED=95=A9=20=EA=B5=AC=ED=95=98=EA=B8=B05?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- python/alg_11660.py | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 python/alg_11660.py diff --git a/python/alg_11660.py b/python/alg_11660.py new file mode 100644 index 0000000..961bae1 --- /dev/null +++ b/python/alg_11660.py @@ -0,0 +1,33 @@ +import sys + +input = sys.stdin.readline + + +def solution(n, m, data, ranges): + dp = [[0] * (n+1) for _ in range(n+1)] + + for i in range(1, n+1): + for j in range(1, n+1): + dp[i][j] = dp[i-1][j] + dp[i][j-1] - dp[i-1][j-1] + data[i-1][j-1] + + answer = [] + for e in ranges: + x1, y1, x2, y2 = e + answer.append(dp[x2][y2] - dp[x2][y1-1] - dp[x1-1][y2] + dp[x1-1][y1-1]) + + return answer + + +def display_result(answer): + [print(e) for e in answer] + + +def main(): + n, m = map(int, input().split()) + data = [list(map(int, input().split())) for _ in range(n)] + ranges = [list(map(int, input().split())) for _ in range(m)] + answer = solution(n, m, data, ranges) + display_result(answer) + + +main() \ No newline at end of file