Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import sys
- def hLine(): #橫列
- hCounter = 0
- for i in range(0,9):
- hList = [1, 2, 3, 4, 5, 6, 7, 8, 9]
- for j in range(0,9):
- if np1[i][j] in hList:
- hList.remove(np1[i][j])
- if not hList:
- hCounter += 1
- if hCounter == 9:
- return 'yes'
- def sLine(): #直行
- sCounter = 0
- for i in range(0,9):
- sList = [1, 2, 3, 4, 5, 6, 7, 8, 9]
- for j in range(0,9):
- if np1[j][i] in sList:
- sList.remove(np1[j][i])
- if not sList:
- sCounter += 1
- if sCounter == 9:
- return 'yes'
- def sArea(): #3x3區域
- temp = []
- aCounter = 0
- for i in range(0,8,3):
- for j in range(0,8,3):
- temp = [[None]*3 for i in range(0,3)]
- for a in range(0,3):
- for b in range(0,3):
- temp[a][b] = np1[i+a][j+b] # 切片
- aList = [1, 2, 3, 4, 5, 6, 7, 8, 9]
- for k in range(0,3):
- for m in range(0,3):
- if temp[k][m] in aList:
- aList.remove(temp[k][m])
- if not aList:
- aCounter += 1
- if aCounter == 9:
- return 'yes'
- data_counter = 0
- while True:
- np1 = [[None]*9 for i in range(0,9)]
- if data_counter != 0:
- try:input()
- except:break
- for j in range(0,9):
- a, b, c, d, e, f, g, h, i = input().split()
- np1[j][0] = a
- np1[j][1] = b
- np1[j][2] = c
- np1[j][3] = d
- np1[j][4] = e
- np1[j][5] = f
- np1[j][6] = g
- np1[j][7] = h
- np1[j][8] = i
- for g in range(0,9):
- for h in range(0,9):
- np1[g][h] = int(np1[g][h])
- if hLine() == sLine() == sArea() =='yes':
- print('yes')
- else:
- print('no')
- data_counter += 1
Advertisement
Add Comment
Please, Sign In to add comment