λ¬Έμ
μμ΄ μ΄λ±νκ΅μλ κ΅μ€μ΄ νλ μκ³ , κ΅μ€μ N×N ν¬κΈ°μ 격μλ‘ λνλΌ μ μλ€. νκ΅μ λ€λλ νμμ μλ N2λͺ μ΄λ€. μ€λμ λͺ¨λ νμμ μ리λ₯Ό μ νλ λ μ΄λ€. νμμ 1λ²λΆν° N2λ²κΉμ§ λ²νΈκ° λ§€κ²¨μ Έ μκ³ , (r, c)λ rν cμ΄μ μλ―Ένλ€. κ΅μ€μ κ°μ₯ μΌμͺ½ μ μΉΈμ (1, 1)μ΄κ³ , κ°μ₯ μ€λ₯Έμͺ½ μλ« μΉΈμ (N, N)μ΄λ€.
μ μλμ νμμ μμλ₯Ό μ νκ³ , κ° νμμ΄ μ’μνλ νμ 4λͺ λ λͺ¨λ μ‘°μ¬νλ€. μ΄μ λ€μκ³Ό κ°μ κ·μΉμ μ΄μ©ν΄ μ ν΄μ§ μμλλ‘ νμμ μ리λ₯Ό μ νλ €κ³ νλ€. ν μΉΈμλ νμ ν λͺ μ μλ¦¬λ§ μμ μ μκ³ , |r1 - r2| + |c1 - c2| = 1μ λ§μ‘±νλ λ μΉΈμ΄ (r1, c1)κ³Ό (r2, c2)λ₯Ό μΈμ νλ€κ³ νλ€.
- λΉμ΄μλ μΉΈ μ€μμ μ’μνλ νμμ΄ μΈμ ν μΉΈμ κ°μ₯ λ§μ μΉΈμΌλ‘ μ리λ₯Ό μ νλ€.
- 1μ λ§μ‘±νλ μΉΈμ΄ μ¬λ¬ κ°μ΄λ©΄, μΈμ ν μΉΈ μ€μμ λΉμ΄μλ μΉΈμ΄ κ°μ₯ λ§μ μΉΈμΌλ‘ μ리λ₯Ό μ νλ€.
- 2λ₯Ό λ§μ‘±νλ μΉΈλ μ¬λ¬ κ°μΈ κ²½μ°μλ νμ λ²νΈκ° κ°μ₯ μμ μΉΈμΌλ‘, κ·Έλ¬ν μΉΈλ μ¬λ¬ κ°μ΄λ©΄ μ΄μ λ²νΈκ° κ°μ₯ μμ μΉΈμΌλ‘ μ리λ₯Ό μ νλ€.
μλ₯Ό λ€μ΄, N = 3μ΄κ³ , νμ N2λͺ μ μμμ κ° νμμ΄ μ’μνλ νμμ΄ λ€μκ³Ό κ°μ κ²½μ°λ₯Ό μκ°ν΄λ³΄μ.
νμμ λ²νΈμ’μνλ νμμ λ²νΈ
νμμ λ²νΈ | μ’μνλ νμμ λ²νΈ |
4 | 2, 5, 1, 7 |
3 | 1, 9, 4, 5 |
9 | 8, 1, 2, 3 |
8 | 1, 9, 3, 4 |
7 | 2, 3, 4, 8 |
1 | 9, 2, 5, 7 |
6 | 5, 2, 3, 4 |
5 | 1, 9, 2, 8 |
2 | 9, 3, 1, 4 |
κ°μ₯ λ¨Όμ , 4λ² νμμ μ리λ₯Ό μ ν΄μΌ νλ€. νμ¬ κ΅μ€μ λͺ¨λ μΉΈμ λΉ μΉΈμ΄λ€. 2λ² μ‘°κ±΄μ μν΄ μΈμ ν μΉΈ μ€μμ λΉμ΄μλ μΉΈμ΄ κ°μ₯ λ§μ μΉΈμΈ (2, 2)μ΄ 4λ² νμμ μλ¦¬κ° λλ€.
4 | ||
λ€μ νμμ 3λ²μ΄λ€. 1λ² μ‘°κ±΄μ λ§μ‘±νλ μΉΈμ (1, 2), (2, 1), (2, 3), (3, 2) μ΄λ€. μ΄ μΉΈμ λͺ¨λ λΉμ΄μλ μΈμ ν μΉΈμ΄ 2κ°μ΄λ€. λ°λΌμ, 3λ² μ‘°κ±΄μ μν΄ (1, 2)κ° 3λ² νμμ μλ¦¬κ° λλ€.
3 | ||
4 | ||
λ€μμ 9λ² νμμ΄λ€. 9λ² νμμ΄ μ’μνλ νμμ λ²νΈλ 8, 1, 2, 3μ΄κ³ , μ΄ μ€μ 3μ μ리μ μμμλ€. μ’μνλ νμμ΄ κ°μ₯ λ§μ΄ μΈμ ν μΉΈμ (1, 1), (1, 3)μ΄λ€. λ μΉΈ λͺ¨λ λΉμ΄μλ μΈμ ν μΉΈμ΄ 1κ°μ΄κ³ , νμ λ²νΈλ 1μ΄λ€. λ°λΌμ, 3λ² μ‘°κ±΄μ μν΄ (1, 1)μ΄ 9λ² νμμ μλ¦¬κ° λλ€.
9 | 3 | |
4 | ||
μ΄λ²μ μ리λ₯Ό μ ν νμμ 8λ² νμμ΄λ€. (2, 1)μ΄ 8λ² νμμ΄ μ’μνλ νμκ³Ό κ°μ₯ λ§μ΄ μΈμ ν μΉΈμ΄κΈ° λλ¬Έμ, μ¬κΈ°κ° κ·Έ νμμ μ리μ΄λ€.
9 | 3 | |
8 | 4 | |
7λ² νμμ μ리λ₯Ό μ ν΄λ³΄μ. 1λ² μ‘°κ±΄μ λ§μ‘±νλ μΉΈμ (1, 3), (2, 3), (3, 1), (3, 2)λ‘ μ΄ 4κ°κ° μκ³ , λΉμ΄μλ μΉΈκ³Ό κ°μ₯ λ§μ΄ μΈμ ν μΉΈμ (2, 3), (3, 2)μ΄λ€. νμ λ²νΈκ° μμ (2, 3)μ΄ 7λ² νμμ μλ¦¬κ° λλ€.
9 | 3 | |
8 | 4 | 7 |
μ΄λ°μμΌλ‘ νμμ μ리λ₯Ό λͺ¨λ μ νλ©΄ λ€μκ³Ό κ°λ€.
9 | 3 | 2 |
8 | 4 | 7 |
5 | 6 | 1 |
μ΄μ νμμ λ§μ‘±λλ₯Ό ꡬν΄μΌ νλ€. νμμ λ§μ‘±λλ μ리 λ°°μΉκ° λͺ¨λ λλ νμ ꡬν μ μλ€. νμμ λ§μ‘±λλ₯Ό ꡬνλ €λ©΄ κ·Έ νμκ³Ό μΈμ ν μΉΈμ μμ μ’μνλ νμμ μλ₯Ό ꡬν΄μΌ νλ€. κ·Έ κ°μ΄ 0μ΄λ©΄ νμμ λ§μ‘±λλ 0, 1μ΄λ©΄ 1, 2μ΄λ©΄ 10, 3μ΄λ©΄ 100, 4μ΄λ©΄ 1000μ΄λ€.
νμμ λ§μ‘±λμ μ΄ ν©μ ꡬν΄λ³΄μ.
μ λ ₯
첫째 μ€μ Nμ΄ μ£Όμ΄μ§λ€. λμ§Έ μ€λΆν° N2κ°μ μ€μ νμμ λ²νΈμ κ·Έ νμμ΄ μ’μνλ νμ 4λͺ μ λ²νΈκ° ν μ€μ νλμ© μ μλμ΄ μ리λ₯Ό μ ν μμλλ‘ μ£Όμ΄μ§λ€.
νμμ λ²νΈλ μ€λ³΅λμ§ μμΌλ©°, μ΄λ€ νμμ΄ μ’μνλ νμ 4λͺ μ λͺ¨λ λ€λ₯Έ νμμΌλ‘ μ΄λ£¨μ΄μ Έ μλ€. μ λ ₯μΌλ‘ μ£Όμ΄μ§λ νμμ λ²νΈ, μ’μνλ νμμ λ²νΈλ N2λ³΄λ€ μκ±°λ κ°μ μμ°μμ΄λ€. μ΄λ€ νμμ΄ μκΈ° μμ μ μ’μνλ κ²½μ°λ μλ€.
μΆλ ₯
첫째 μ€μ νμμ λ§μ‘±λμ μ΄ ν©μ μΆλ ₯νλ€.
https://www.acmicpc.net/problem/21608
π‘ νμ΄ λ° μ½λ
data = {}
n = int(input())
for _ in range(n**2):
s, f1, f2, f3, f4 = map(int, input().split())
data[s] = [f1, f2, f3, f4]
seats = [[0]*n for _ in range(n)]
dx, dy = [-1, 1, 0, 0], [0, 0, -1, 1]
for student, friends in list(data.items()):
result = (0, 0, -n+1, -n+1)
for x in range(n):
for y in range(n):
if seats[x][y]:
continue
friend_cnt, empty_cnt = 0, 0
for k in range(4):
nx, ny = x + dx[k], y + dy[k]
if nx < 0 or nx >= n or ny < 0 or ny >= n:
continue
if seats[nx][ny] == 0:
empty_cnt += 1
continue
if seats[nx][ny] in friends:
friend_cnt += 1
continue
result = max(result, (friend_cnt, empty_cnt, -x, -y))
x, y = -result[-2], -result[-1]
seats[x][y] = student
answer = 0
for x in range(n):
for y in range(n):
student = seats[x][y]
count = 0
for k in range(4):
nx, ny = x + dx[k], y + dy[k]
if nx < 0 or nx >= n or ny < 0 or ny >= n:
continue
if seats[nx][ny] in data[student]:
count += 1
if count == 0:
continue
answer += 10**(count-1)
print(answer)
Nμ 20λ³΄λ€ μκ±°λ κ°μ μ΅λ νμ μ λ 400λͺ μ΄κΈ° λλ¬Έμ μμ νμμ κ³ λ €ν΄λ³Ό μ μλ€. κ° νμμ λν΄ κ° μ리λ₯Ό μννλ©° λ§μ‘±λκ° κ°μ₯ λμ μμΉλ₯Ό μ°Ύμ μ§μ νλ λ°©μμΌλ‘ λ¨μν ꡬννλ©΄ λλ€.
'Algorithm > π Baekjoon Judge' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[BOJ] λ°±μ€ 21609λ² μμ΄ μ€νκ΅ - νμ΄μ¬(Python) (1) | 2022.10.07 |
---|---|
[BOJ] λ°±μ€ 17144λ² λ―ΈμΈλ¨Όμ§ μλ ! - νμ΄μ¬(Python) (0) | 2022.08.26 |
[BOJ] λ°±μ€ 15685λ² λλκ³€ μ»€λΈ - νμ΄μ¬(Python) (0) | 2022.08.23 |
[BOJ] λ°±μ€ 2133λ² νμΌ μ±μ°κΈ° - νμ΄μ¬(Python) (0) | 2022.08.18 |
[BOJ] λ°±μ€ 2294λ² λμ 2 - νμ΄μ¬(Python) (0) | 2022.08.18 |