社区讨论
各位佬,离谱啊
P2670[NOIP 2015 普及组] 扫雷游戏参与者 2已保存回复 4
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 4 条
- 当前快照
- 1 份
- 快照标识符
- @m4bfii9f
- 此快照首次捕获于
- 2024/12/05 22:45 去年
- 此快照最后确认于
- 2025/11/04 13:18 4 个月前
这道题的测试所给样例点就没过,m,n=3读不了第三行
求各位大佬看看问题在哪,我实在是看不出来,应该不是边界问题,这题起始i=1其实就去掉了
C#include<stdio.h>
int n,m;
int main(){
char a[120][120];
int b[120][120],n,m,i,j;//数组定义(二维)
scanf("%d %d",&n,&m);//读入行、列
for(i=1;i<=120;i++)
for(j=1;j<=120;j++)
b[i][j]=0;//给数组赋值为0
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
{
scanf("%c",&a[i][j]);
if(a[i][j]=='*')//判断:如果是地雷
{
b[i+1][j+1]++;
b[i+1][j-1]++;
b[i+1][j]++;
b[i][j+1]++;
b[i][j-1]++;
b[i-1][j]++;
b[i-1][j+1]++;
b[i-1][j-1]++;//相邻的八个格子都+1
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(a[i][j]=='*')printf("*");
else printf("%d",b[i][j]);
}
printf("\n");
}
return 0;
}
回复
共 4 条回复,欢迎继续交流。
正在加载回复...