Valid Sudoku
来源:互联网 发布:mlx软件下载安装 编辑:程序博客网 时间:2024/04/28 01:57
难度:1
个人总结:傻傻地写错两个符号,1Y失败
Determine if a Sudoku is valid, according to: Sudoku Puzzles - The Rules.
The Sudoku board could be partially filled, where empty cells are filled with the character '.'
.
A partially filled sudoku which is valid.
由于输入一定是9*9的数组,所以也没有什么要注意的地方class Solution {public:bool row(vector<char> &r){int opt=0;for(int i=0;i<r.size();i++){if(r[i] == '.')continue;if(opt&(1<<(r[i]-'0'-1)))return false;opt+=(1<<(r[i]-'0'-1));}return true;}bool col_check(vector<vector<char> > &board, int col){int opt=0;for(int i=0;i<board.size();i++){if(board[i][col] == '.')continue;if(opt&(1<<(board[i][col]-'0'-1)))return false;opt+=(1<<(board[i][col]-'0'-1));}return true;}bool center_check(vector<vector<char> > &board, int x, int y){int dir[8][2]={{1,0},{1,-1},{1,1},{-1,-1},{-1,1},{-1,0},{0,1},{0,-1}};int opt=0;opt+=(1<<(board[x][y]-'0'-1));for(int i=0;i<8;i++){if(board[x+dir[i][0]][y+dir[i][1]] == '.')continue;if(opt&(1<<(board[x+dir[i][0]][y+dir[i][1]]-'0'-1)))return false;opt+=(1<<(board[x+dir[i][0]][y+dir[i][1]]-'0'-1));}return true;} bool isValidSudoku(vector<vector<char> > &board) {for(int i=0;i<board.size();i++){if(!row(board[i]))return false;}if(board.size()>0&&board[0].size()>0){for(int i=0;i<board[0].size();i++){if(!col_check(board,i))return false;}}int center[9][2]={{1, 1}, {1, 4}, {1, 7}, {4, 1}, {4, 4}, {4, 7}, {7, 1}, {7, 4}, {7, 7} };for(int i=0;i<9;i++){if(!center_check(board,center[i][0],center[i][1]))return false;}return true; }};
- Valid Sudoku
- Valid Sudoku
- Valid Sudoku
- Valid Sudoku
- Valid Sudoku
- Valid Sudoku
- Valid Sudoku
- Valid Sudoku
- Valid Sudoku
- Valid sudoku
- Valid Sudoku
- Valid Sudoku
- Valid Sudoku
- Valid Sudoku
- Valid Sudoku
- Valid Sudoku
- Valid Sudoku
- Valid Sudoku
- 深度理解链式前向星
- java之jvm学习笔记十三(jvm基本结构)
- hdu2553.c
- SVM --从“原理”到实现
- Django 学习笔记(十六)
- Valid Sudoku
- 个性化推荐技术攻略
- VC导出CListCtrl数据到Excel两种方法
- 杭电ACM HDU 1079 Calendar Game(转)
- 利用MySQL WorkBench生成各表关系图
- 小学生算数测试系统
- IOS解压缩和压缩文件
- C++ 对象创建方式
- 向大家推荐Ubuntu下九大最佳绘图程序