LintCode_389 判断数独是否合法

题目

请判定一个数独是否有效。

该数独可能只填充了部分数字,其中缺少的数字用 . 表示。

注意事项

一个合法的数独(仅部分填充)并不一定是可解的。我们仅需使填充的空格有效即可。
说明
什么是 数独

Valid Sudoku

C++代码
LintCode_389 判断数独是否合法LintCode_389 判断数独是否合法

1  void clear(int *s, int n)
 2     {
 3         for(int i = 0; i < n; ++i)
 4             s[i] = 0;
 5     }
 6     bool rol_is_true(int s[], int n)
 7     {
 8         for(int i = 0; i < n; ++i)
 9         {
10             if(s[i] > 1) return false;
11         }
12         return true;
13     }
14     bool isValidSudoku(const vector<vector<char>>& board) {
15         //判断行
16         int s[10];
17         int i, j;
18         
19         for(i = 0; i < 9; ++i)
20         {
21             clear(s, 10);
22             for(j = 0; j < 9; ++j)
23             {
24                 if(board[i][j] != '.') s[board[i][j] - '0']++;
25             }
26             if(!rol_is_true(s, 10)) return false;
27         }
28         //判断列
29         for(i = 0; i < 9; ++i)
30         {
31             clear(s, 10);
32             for(j = 0; j < 9; ++j)
33             {
34                 if(board[j][i] != '.') s[board[j][i] - '0']++;
35             }
36             if(!rol_is_true(s, 10)) return false;
37         }
38         
39         //判断宫
40         int t,k,p;
41         for(t = 0, i = 0; i < 9; ++i)
42         {
43             if(i % 3 == 0) p = i;
44             clear(s, 10);
45             for(j = t; j < t + 3; ++j)
46             {
47                 for(k = p; k <p + 3; ++k)
48                 {
49                     if(board[j][k] != '.') s[board[j][k] - '0']++;
50                 }
51             }
52             if(!rol_is_true(s, 10)) return false;
53             t = (t + 3) % 9;
54         }
55         return true;
56     }

View Code

原文链接: https://www.cnblogs.com/Smallhui/p/5540835.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/234196

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月13日 下午4:09
下一篇 2023年2月13日 下午4:10

相关推荐