salute-to-Mr-Lynch

导航

2024牛客暑期多校训练营3 L题-Sudoku and Minesweeper

题目:L题-Sudoku and Minesweeper

     题目的意思给出一个已经求好了的(9 x 9)数独网格,其中每行每列每个(3 x 3)数独网格的数字都是从1到9,并且保证每个数字都不一样,现在让你用地雷来代替一些数字,来复现一个扫雷游戏,(注意不可能每个数字都用地雷来代替)。

题解:

  说实话,刚看到题目第一眼,我是很懵逼的,想了好久,才察觉到到既然不能全部用地雷代替,其实最后只要留一个数字就行了。其他全用地雷代替。

代码编写:

#include <bits/stdc++.h> 

using namespace std;

int main() {
    string a[11]; 
    int b[11][11] = {0};
    int i, j;
    int flag = 1;
    for (i = 1; i <=9; i++) {
        cin >> a[i];
        if (flag) {
            for (j = 1; j <= 9; j++) {
                if (a[i][j-1] == '8' && i != 1 && i != 9 && j != 1 && j != 9) {
                    b[i][j] = 8;//3x3方格中只要一个数字是8,然后周围全是地雷。
                    flag = 0;
                }
            }
        }
    }
    
    cout << '\n';
    for (i = 1; i <=9; i++) {
        for (j = 1; j <= 9; j++) {
            if (b[i][j] != 8) cout << '*';
            else  {
                cout << b[i][j];
            }
        }
        cout << '\n';
    }
    
    
    
    return 0;
}

 

posted on 2024-07-31 22:47  kiyotaka-ayanokoji  阅读(4)  评论(0编辑  收藏  举报