• leetcode Valid Sudoku


    代码:

     1 #include<iostream>
     2 #include<vector>
     3 
     4 using namespace std;
     5 
     6 int length = 9;
     7 
     8 bool isValidSudoku(vector<vector<char>>& board) 
     9 {
    10     int flag[9];
    11     memset(flag, 0, sizeof(flag)*length);
    12     //
    13     for (int j = 0; j < length; j++)
    14     {
    15         for (int i = 0; i < length; i++)
    16         {
    17             if (board[i][j] != '.')
    18             {
    19                 if (flag[board[i][j] - '1'] == 1)
    20                     return false;
    21                 else
    22                     flag[board[i][j] - '1'] = 1;
    23             }
    24         }
    25         memset(flag, 0, sizeof(flag)*length);
    26     }
    27     memset(flag, 0, sizeof(flag)*length);
    28     for (int i = 0; i < length; i++)
    29     {
    30         for (int j = 0; j < length; j++)
    31         {
    32             if (board[i][j] != '.')
    33             {
    34                 if (flag[board[i][j] - '1'] == 1)
    35                     return false;
    36                 else
    37                     flag[board[i][j] - '1'] = 1;
    38             }
    39         }
    40         memset(flag, 0, sizeof(flag)*length);
    41     }
    42     memset(flag, sizeof(flag), 0);
    43     for (int i0 = 0; i0 < length; i0+=3)
    44     {
    45         for (int j0 = 0; j0 < length; j0+=3)
    46         {
    47             for (int i = i0; i < i+3; i++)
    48             {
    49                 for (int j = j0; j < j+3; j++)
    50                 {
    51                     if (board[i][j] != '.')
    52                     {
    53                         if (flag[board[i][j] - '1'] == 1)
    54                             return false;
    55                         else
    56                             flag[board[i][j] - '1'] = 1;
    57                     }
    58                 }
    59             }
    60             memset(flag, 0, sizeof(flag)*length);
    61         }
    62     }
    63     return true;
    64 }
    65 
    66 int main()
    67 {
    68     vector<vector<char>> a = 
    69     {
    70         { '5', '3', '.', '.', '7', '.', '.', '.', '.' },
    71         { '6', '.', '.', '1', '9', '5', '.', '.', '.' },
    72         { '.', '9', '8', '.', '.', '.', '.', '6', '.' },
    73         { '8', '.', '.', '.', '6', '.', '.', '.', '3' },
    74         { '4', '.', '.', '8', '.', '3', '.', '.', '1' },
    75         { '7', '.', '.', '.', '2', '.', '.', '.', '6' },
    76         { '.', '6', '.', '.', '.', '.', '2', '8', '.' },
    77         { '.', '.', '.', '4', '1', '9', '.', '.', '5' },
    78         { '.', '.', '.', '.', '8', '.', '.', '7', '9' },
    79     };
    80     cout << isValidSudoku(a) << endl;
    81     return 0;
    82 }
  • 相关阅读:
    请教提高上百万行数据insert速度的“经典”方法
    poj1411
    poj1422
    poj1661
    poj1664
    poj1405
    交往艺术与沟通技巧[推荐]
    不可不听的10个职场故事
    也谈如何“领导”你的领导
    十个让爱情稳固的经典好习惯
  • 原文地址:https://www.cnblogs.com/chaiwentao/p/4493685.html
Copyright © 2020-2023  润新知