|
| 1 | +''' |
| 2 | +1. ์์ ํ์์ผ๋ก ์งํ |
| 3 | + 1.1 ๋ฌธ์ ์๊ฑด์ ๋ฐ๋ผ ์ต์
์ ๊ฒฝ์ฐ๋ |
| 4 | + 500 * 500 * 5(ํ
ํธ๋ก๋ฏธ๋
ธ ์ข
๋ฅ) * 4(90๋ ํ์ ๊ฒฝ์ฐ์ ์) * 4(๋์นญํ ํ 90๋ ํ์ ๊ฒฝ์ฐ์ ์). |
| 5 | + N(1์ต)์ด 1์ด๋ผ๊ณ ๊ฐ์ ํ๋ค๋ฉด 2์ด๋ฉด ์ถฉ๋ถํ๋ค๊ณ ํ๋จ. |
| 6 | +2. ํ
ํธ๋ก๋ฏธ๋
ธ์ ์ข
๋ฅ๋ณ๋ก, ํ์ ๊ณผ ๋์นญ์ ๊ฒฝ์ฐ์ ์๋ฅผ ๋ชจ๋ ๊ณ ๋ คํ์ฌ ๋ชจ์ ๋ฆฌ์คํธ๋ฅผ ๋ง๋ ๋ค. |
| 7 | +3. ์ด์ค ๋ฐ๋ณต๋ฌธ์์ ๋ชจ๋ ์นธ์ ์ํํ๋ฉฐ ๋ชจ๋ ๋ชจ์ ๋ฆฌ์คํธ๋ฅผ ๊ฒ์ฌํ์ฌ ์ต๋๊ฐ์ ์ฐพ๋๋ค. |
| 8 | +
|
| 9 | +''' |
| 10 | + |
| 11 | +N, M = map(int, input().split()) |
| 12 | + |
| 13 | +arr = [list(map(int, input().split())) for _ in range(N)] |
| 14 | + |
| 15 | +# ๊ฐ๋ฅํ ๋ชจ๋ ํ
ํธ๋ก๋ฏธ๋
ธ ๋ชจ์, ์์์ ์ ๊ธฐ์ค์ผ๋ก ๋ํด์ผ ํ dx, dy์. |
| 16 | +shape = [[(0, 1), (0, 2), (0, 3)], [(1, 0), (2, 0), (3, 0)], |
| 17 | + [(0, 1), (1, 0), (1, 1)], |
| 18 | + [(1, 0), (1, 1), (2, 1)], [(0, -1), (1, -1), (1, -2)], |
| 19 | + [(1, 0), (1, -1), (2, -1)], [(0, 1), (1, 1), (1, 2)], |
| 20 | + [(1, 0), (2, 0), (2, 1)], [(0, 1), (0, 2), (1, 0)], |
| 21 | + [(0, 1), (1, 1), (2, 1)], [(0, 1), (0, 2), (-1, 2)], |
| 22 | + [(1, 0), (2, 0), (2, -1)], [(0, 1), (0, 2), (1, 2)], |
| 23 | + [(1, 0), (2, 0), (0, 1)], [(1, 0), (1, 1), (1, 2)], |
| 24 | + [(1, 0), (1, 1), (1, -1)], [(1, 0), (1, 1), (2, 0)], |
| 25 | + [(0, -1), (1, 0), (0, 1)], [(0, 1), (-1, 1), (1, 1)] |
| 26 | + ] |
| 27 | + |
| 28 | + |
| 29 | +def calc(i, j, tet): |
| 30 | + sum = arr[i][j] |
| 31 | + for dx, dy in tet: |
| 32 | + newX = i + dx |
| 33 | + newY = j + dy |
| 34 | + #์ข
์ด์ ๋ฒ์๋ฅผ ๋์ง ์์๋ค๋ฉด ์ข
์ด ์นธ์ ์ ๋ํ๊ธฐ |
| 35 | + if 0 <= newX < N and 0 <= newY < M: |
| 36 | + sum += arr[newX][newY] |
| 37 | + else: |
| 38 | + return 0 |
| 39 | + return sum |
| 40 | + |
| 41 | + |
| 42 | +ans = 0 |
| 43 | +for i in range(N): |
| 44 | + for j in range(M): |
| 45 | + for tet in shape: |
| 46 | + temp = calc(i, j, tet) # ํ์ฌ ์์น์์ ๊ฐ๋ฅํ ๋ชจ๋ ๋ชจ์์ ํฉ ๊ณ์ฐ |
| 47 | + ans = max(temp, ans) |
| 48 | + |
| 49 | +print(ans) |
0 commit comments