| Run ID | 作者 | 问题 | 语言 | 测评结果 | Time | Memory | 代码长度 | 提交时间 |
|---|---|---|---|---|---|---|---|---|
| 141301 | 胡海峰老师 | 扫雷游戏 | C++ | Accepted | 1 MS | 292 KB | 1149 | 2025-12-22 09:40:01 |
#include <iostream> //designed by hu 2025-10 using namespace std; char a[101][101]={}; char b[101][101]={}; int row,col; int eightPos[8][2]={ {-1,-1},{-1,0}, {-1,1}, { 0,-1}, { 0,1}, { 1,-1},{ 1,0}, {1,1 } }; int calc_mines(int i,int j){ int t = 0; // 地雷计数器 int x, y; // 临时坐标变量 int ni,nj; for(int x=0;x<8;x++) { ni=i+eightPos[x][0]; nj = j+ eightPos[x][1]; if(ni>=1 && ni<=row && nj>=1 && nj<=col && a[ni][nj]=='*') t++; } return t; } int main(){ cin>>row>>col; //输入数据 for(int i=1;i<=row;i++) for(int j=1;j<=col;j++) cin>>a[i][j]; //遍历 for(int i=1;i<=row;i++) for(int j=1;j<=col;j++) { if(a[i][j]=='?') { // 将计数转换为字符 b[i][j] = '0' + calc_mines(i,j); } else { b[i][j]='*'; } } //标准测试输出 for(int i=1;i<=row;i++) { for(int j=1;j<=col;j++) { cout<<b[i][j]; } cout<<"\n"; } return 0; }