题解 | #Sudoku#学习大佬后自己敲

Sudoku

http://www.nowcoder.com/practice/78a1a4ebe8a34c93aac006c44f6bf8a1

def isRightNum(all_list, x, y): for i in range(9): if all_list[x][i] == all_list[x][y] and i != y: return False if all_list[i][y] == all_list[x][y] and i != x: return False m, n = 3 * (x // 3), 3 * (y // 3) for i in range(3): for j in range(3): if all_list[m+i][n+j] == all_list[x][y] and ((m+i) != x or (n+j) != y): return False return True

def changeNum(all_list): for i in range(9): for j in range(9): if all_list[i][j] == 0: for n in '123456789': all_list[i][j] = int(n) if isRightNum(all_list, i, j) and changeNum(all_list): return True all_list[i][j] = 0 else: return False return True

while True: try: all_list = [] for i in range(9): all_list.append([int(x) for x in input().split()])

    changeNum(all_list)
    for j in range(9):
        print(' '.join([str(x) for x in all_list[j]]))
    
    
    
except:
    break
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-04 18:02
好不容易拿到了字节Offer,鼠鼠做后端的,但家里人觉得可能被裁员不稳定,让鼠鼠去投国企,现在好纠结到底该咋选
文档传偷助手:该投就投吧,不过建议别放弃offer 拿到手里的才是最好的
投递字节跳动等公司10个岗位
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-08 14:10
点赞 评论 收藏
分享
06-07 19:59
门头沟学院 C++
补药卡我啊😭:都快15年前的了还在11新特性
你的简历改到第几版了
点赞 评论 收藏
分享
asdasdasda...:19岁,不容易啊可能升个本会好点,现在学历歧视太严重了
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务