|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 202021130162 于 2021-2-8 20:51 编辑
题目链接:
https://www.luogu.com.cn/problem/P2670
这是正确代码:
- #include <bits/stdc++.h>
- using namespace std;
- int main()
- {
- int a,b;
- cin>>a>>b; //a行b列
- char m[101][101];
- int n[101][101];
- for(int i=0;i<101;i++)
- for(int j=0;j<101;j++)
- n[i][j]=0; //初始化
- for(int i=0;i<a;i++)
- for(int j=0;j<b;j++)
- {
- cin>>m[i][j]; //输入每行的地雷情况
- if(m[i][j]=='*')
- {
- n[i+1][j+1]++;
- n[i+1][j-1]++;
- n[i+1][j]++;
- n[i][j+1]++;
- n[i][j-1]++;
- n[i-1][j]++;
- n[i-1][j+1]++;
- n[i-1][j-1]++; //相邻的八个格子都+1
- }
- }
- //储存完毕,开始输出
- for(int i=0;i<a;i++)
- {
- for(int j=0;j<b;j++)
- {
- if(m[i][j]=='*')
- cout<<"*";
- else
- cout<<n[i][j];
- }
- cout<<'\n';
- }
- return 0;
- }
复制代码
我的问题是:
对于:
int n[101][101];
for(int i=0;i<101;i++)
for(int j=0;j<101;j++)
n[i][j]=0; //初始化
将这一段中的101,
1.改成输入的a和b,即n[a][b],为什么得到的结果就是错误的?
2.改成100,即n[100][100],也会有测试点无法通过?
|
|