[구름 LEVEL] 삼각형 더하기
https://level.goorm.io/exam/195147/%EC%82%BC%EA%B0%81%ED%98%95-%EB%8D%94%ED%95%98%EA%B8%B0/quiz/1



· 이중 for문으로 처리하되, 삼각형의 모양에 따라 나눠줄 필요가 있음
· 삼각형은 각 변에 평행한 직각이등변삼각형이므로, 회전에 따라 4가지로 분류
· 삼각형의 모양은 들어오는 삼각형의 좌표를 기반으로 분류
· if문으로 4가지를 구분
n, q = map(int, input().split())
arr = [list(map(int, input().split())) for _ in range(n)]
for _ in range(q):
inp = list(map(int, input().split()))
x_list = inp[::2]
y_list = inp[1::2]
c = list(zip(x_list, y_list))
min_x = min(x_list)
max_x = max(x_list)
min_y = min(y_list)
max_y = max(y_list)
# 직각이등변삼각형의 변의 길이
n_t = max_y-min_y
score = 0
# 삼각형의 대각선이 왼쪽 위 -> 오른쪽 아래로 향하는 경우
if (min_x, min_y) in c and (max_x, max_y) in c:
if (max_x, min_y) in c:
for i in range(n_t+1):
for j in range(i+1):
score += arr[min_x+i-1][min_y+j-1]
else:
for i in range(n_t+1):
for j in range(n_t-i+1):
score += arr[min_x+i-1][max_y-j-1]
# 삼각형의 대각선이 오른쪽 위 -> 왼쪽 아래로 향하는 경우
else:
if (min_x, min_y) in c:
for i in range(n_t+1):
for j in range(n_t-i+1):
score += arr[min_x+i-1][min_y+j-1]
else:
for i in range(n_t+1):
for j in range(i+1):
score += arr[min_x+i-1][max_y-j-1]
print(score)
