2580λ²: μ€λμΏ
μ€λμΏ λ 18μΈκΈ° μ€μμ€ μνμκ° λ§λ 'λΌν΄ μ¬κ°ν'μ΄λ νΌμ¦μμ μ λν κ²μΌλ‘ νμ¬ λ§μ μΈκΈ°λ₯Ό λλ¦¬κ³ μλ€. μ΄ κ²μμ μλ κ·Έλ¦Όκ³Ό κ°μ΄ κ°λ‘, μΈλ‘ κ°κ° 9κ°μ© μ΄ 81κ°μ μμ μΉΈμΌλ‘ μ΄λ£¨
www.acmicpc.net
μλ λ μ§μ§ λμλ²λ¦¬κ² μ
μμ λ λ§λλ° κ³μ μ΄λ»κ² κ³ μ³λ νλ Έλκ³ λμμ μ§μ§
μλ μ νλ μ€λμΏ μ± μ°Ύμμ μ μΌ μ΄λ €μ΄ λ¬Έμ λ€λ‘ ν΄λ΄€λλ° λ€ μ λ΅ μ λμ€λλ°
λ체
λ체
λ체체γ γ μμ₯
μ΄λκ° νλ Έλ€λκ±°μ λμλ²λ € μ§μ§
λ°±μ€ μ΄λμμλ€μ ν μ€νΈμΌμ΄μ€λ₯Ό μ€λ°±κ°μ© λ΄λλΌ... μ§μ§ λ€ λλ € λΆμλ¬ κ°κΈ° μ μ.....
μ ν린건μ§λΌλ μ’ μλ €μ€ μ λ°λΌμμγ μλΌλ
μ€λͺ
μ μλ΅νκ² λ€.. νλ Έλ€μμ μ μ₯ γ
# 2580.py
def check(x, y, num):
ββββch_row = sudoku[x]
ββββch_col = [sudoku[i][y] for i in range(9)]
ββββa = (x // 3) * 3
ββββb = (y // 3) * 3
ββββch_block = sudoku[a][b:b + 3] + sudoku[a + 1][b:b + 3] + sudoku[a + 2][b:b + 3]
ββββif num in ch_row:
ββββββββreturn False
ββββelif num in ch_col:
ββββββββreturn False
ββββelif num in ch_block:
ββββββββreturn False
ββββelse:
ββββββββreturn True
def sdk(zeros):
ββββif not zeros:
ββββββββfor i in sudoku:
ββββββββββββprint(' '.join(map(str, i)))
ββββββββreturn
ββββfor t in range(1, 10):
ββββββββi, j = zeros.pop()
ββββββββif check(i, j, str(t)):
ββββββββββββsudoku[i][j] = str(t)
ββββββββββββsdk(zeros)
ββββββββββββsudoku[i][j] = '0'
ββββββββzeros.append([i, j])
sudoku = [[str(i) for i in input().split()] for _ in range(9)]
myzeros = [(i, j) for i in range(9) for j in range(9) if sudoku[i][j] == '0']
sdk(myzeros)
+ λ°±μ€ μ§λ¬Έ μ¬λ Έλλ° μ λΆ 0μΌλ‘ μ±μμ§ λ¬Έμ μ λ ₯νμλ λ΅μ΄ νλλ§ λμ€κ³ λ©μΆλκ³ λκΈ λ¬μμ£Όμ¬...
κ·Έλμ ν΄λ΄€λλ λͺ¨λ μ‘°ν© λ€ μΆλ ₯λλλ― γ γ νλ νλ¦°νΈ λλ©΄ κ°μ’ νλ λ°©λ²μΌλ‘ μΌλ¨ ν΄κ²°^^..νμ§λ§ μκ°μ΄κ³Ό..
λμ€μ μΈμ κ° νμ΄λ³Όκ² λ―Έμνλ€ μ€λμΏ μΌ...
# 2580.py
import sys
def check(x, y, num):
ββββch_row = sudoku[x]
ββββch_col = [sudoku[i][y] for i in range(9)]
ββββa = (x // 3) * 3
ββββb = (y // 3) * 3
ββββch_block = sudoku[a][b:b + 3] + sudoku[a + 1][b:b + 3] + sudoku[a + 2][b:b + 3]
ββββif num in ch_row:
ββββββββreturn False
ββββelif num in ch_col:
ββββββββreturn False
ββββelif num in ch_block:
ββββββββreturn False
ββββelse:
ββββββββreturn True
def sdk(zeros):
ββββif not zeros:
ββββββββfor i in sudoku:
ββββββββββββprint(' '.join(map(str, i)))
ββββββββsys.exit()
ββββββββreturn
ββββfor t in range(1, 10):
ββββββββi, j = zeros.pop()
ββββββββif check(i, j, str(t)):
ββββββββββββsudoku[i][j] = str(t)
ββββββββββββsdk(zeros)
ββββββββββββsudoku[i][j] = '0'
ββββββββzeros.append([i, j])
sudoku = [[str(i) for i in input().split()] for _ in range(9)]
myzeros = [(i, j) for i in range(9) for j in range(9) if sudoku[i][j] == '0']
sdk(myzeros)