class Solution(object):
def isValidSudoku(self, board):
"""
:type board: List[List[str]]
:rtype: bool
"""
verti=[0]*9
horiz=[0]*9
area=[0]*9
for i in range(9):
for j in range(9):
c=board[i][j]
if c=='.':continue
num=ord(c)-ord('0')
if verti[i]&(1<<num)!=0:
return False
verti[i]|=1<<num
if horiz[j]&(1<<num)!=0:
return False
horiz[j]|=1<<num
p=i/3*3+j/3
if area[p]&(1<<num)!=0:
return False
area[p]|=1<<num
return True