37. Sudoku Solver
来源:互联网 发布:体育场馆播放软件 编辑:程序博客网 时间:2024/05/17 02:41
Write a program to solve a Sudoku puzzle by filling the empty cells.
Empty cells are indicated by the character '.'
.
这道题是一个回溯法来解决的问题,依次试探每一种可能的情况,当满足这一情况时再向后递归直至整个问题解决。真正理解了回溯法的强大 啊,感谢啊 。
void solveSudoku(vector<vector<char>>& board) { check(board); } bool check(vector<vector<char>> &board) { for(int i=0;i<9;i++) { for(int j=0;j<9;j++) { if(board[i][j]=='.') { for(int k=1;k<10;k++) { board[i][j]=k+'0'; if(IsValid(board,i,j) && check(board)) return true; board[i][j]='.'; } return false; } } } return true; } bool IsValid(vector<vector<char>> &board,int x,int y) { int i,j; for(i=0;i<9;i++) { if(i!=x && board[i][y]==board[x][y]) return false; } for(j=0;j<9;j++) { if(j!=y && board[x][j]==board[x][y]) return false; } for(i=(x/3)*3;i<x/3*3+3;i++) { for(j=(y/3)*3;j<y/3*3+3;j++) { if(x!=i && y!=j && board[i][j]==board[x][y]) return false; } } return true; }
阅读全文
0 0
- LeetCode --- 37. Sudoku Solver
- LeetCode 37.Sudoku Solver
- [Leetcode] 37. Sudoku Solver
- 37. Sudoku Solver
- 37. Sudoku Solver(Hard)
- [leetcode] 37. Sudoku Solver
- Leetcode 37. Sudoku Solver
- 37. Sudoku Solver
- leetcode 37. Sudoku Solver
- 37. Sudoku Solver
- 37. Sudoku Solver
- LeetCode 37. Sudoku Solver
- 37. Sudoku Solver
- leetcode.37. Sudoku Solver
- LeetCode-37.Sudoku Solver
- leetcode 37. Sudoku Solver
- (Leetcode)37. Sudoku Solver
- 37. Sudoku Solver
- 微信小程序随笔
- 自定义view画圆形进度条(进度为初始设置的值,不变化)
- python学习基础一:
- Git 分支
- ORACLE RAC ONE NODE技术介绍
- 37. Sudoku Solver
- Springboot集成RabbitMq
- String类原型
- Android 工具:Profile GPU Rendering
- xml总结(一)
- 数据变换的万能钥匙:Box-Cox变换
- DispatcherServlet 源码分析(六)
- HTML基础学习-8-frameset框架学习
- sys_context函数