Skip to content

Commit a0c5cc6

Browse files
authored
Merge pull request #48 from YoonYn9915/main
YoonYn9915 / 7์›” 4์ฃผ์ฐจ / 2๋ฌธ์ œ
2 parents 3ccaa65 + 4c26858 commit a0c5cc6

File tree

2 files changed

+65
-0
lines changed

2 files changed

+65
-0
lines changed
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import sys
2+
3+
n = int(sys.stdin.readline().strip())
4+
5+
arr = [[0] * n for _ in range(n)]
6+
ans = [[0] * n for _ in range(n)]
7+
8+
for i in range(n):
9+
arr[i] = list(map(int, sys.stdin.readline().strip().split()))
10+
11+
ans[0][0] = arr[0][0]
12+
13+
for j in range(n-1):
14+
for k in range(j+1):
15+
for f in range(2):
16+
if ans[j+1][k] == 0:
17+
ans[j+1][k+f] = ans[j][k]+arr[j+1][k+f]
18+
else:
19+
ans[j+1][k+f] = max(ans[j+1][k+f], ans[j][k]+arr[j+1][k+f])
20+
21+
22+
max_value = max(ans[n-1])
23+
print(max_value)
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
import sys
2+
3+
4+
# ์ฃผ์–ด์ง„ ์ •์‚ฌ๊ฐํ˜•์ด ๋ชจ๋‘ ๊ฐ™์€ ์ƒ‰์ธ์ง€ ํ™•์ธํ•˜๋Š” ํ•จ์ˆ˜
5+
def checkRectangle(arr, rowStart, rowEnd, colStart, colEnd):
6+
global ans1, ans2
7+
8+
# ์ฒซ ๋ฒˆ์งธ ์š”์†Œ๋กœ ์ดˆ๊ธฐ ์ƒ‰์ƒ ์„ค์ •
9+
initial = arr[rowStart][colStart]
10+
11+
# ์ฃผ์–ด์ง„ ์ •์‚ฌ๊ฐํ˜•์ด ๋ชจ๋‘ ๊ฐ™์€ ์ƒ‰์ธ์ง€ ํ™•์ธ
12+
for i in range(rowStart, rowEnd):
13+
for j in range(colStart, colEnd):
14+
if arr[i][j] != initial:
15+
# ๋ชจ๋‘ ๊ฐ™์€ ์ƒ‰์ด ์•„๋‹ˆ๋ฉด 4๊ฐœ์˜ ์ž‘์€ ์ •์‚ฌ๊ฐํ˜•์œผ๋กœ ๋ถ„ํ• ํ•˜์—ฌ ์žฌ๊ท€ ํ˜ธ์ถœ
16+
midRow = (rowStart + rowEnd) // 2
17+
midCol = (colStart + colEnd) // 2
18+
checkRectangle(arr, rowStart, midRow, colStart, midCol)
19+
checkRectangle(arr, rowStart, midRow, midCol, colEnd)
20+
checkRectangle(arr, midRow, rowEnd, colStart, midCol)
21+
checkRectangle(arr, midRow, rowEnd, midCol, colEnd)
22+
return
23+
24+
if initial == 0:
25+
ans1 += 1
26+
else:
27+
ans2 += 1
28+
29+
30+
n = int(sys.stdin.readline().strip())
31+
32+
ans1 = 0
33+
ans2 = 0
34+
arr = []
35+
36+
for _ in range(n):
37+
arr.append(list(map(int, sys.stdin.readline().strip().split())))
38+
39+
checkRectangle(arr, 0, n, 0, n)
40+
41+
print(ans1)
42+
print(ans2)

0 commit comments

Comments
ย (0)