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) 编辑 收藏 举报