Field #1:
*100
2210
1*10
1110
Field #2:
**100
33200
1*100
正确结果应为:Field #1:
*100
2210
1*10
1110
Field #2:
**100
33200
1*100
测试结果2: 测试结果错误.错误结果为:
Field #1:
2*32333321
3*5******2
3*6*6556*3
3*6*4**5*3
3*6*44*6*3
3*6*55*6*3
3*5****5*3
3*656656*3
2********2
1233333321
正确结果应为:Field #1:
2*32333321
3*5******2
3*6*6556*3
3*6*4**5*3
3*6*44*6*3
3*6*55*6*3
3*5****5*3
3*656656*3
2********2
1233333321
测试结果3: 测试结果错误.错误结果为:
Field #1:
01110001110
02*20002*20
03*31113*30
03*42*24*30
02*4*3*4*20
013*323*310
002*202*200
00111011100
Field #2:
00123332100
001*****100
00125*52100
00003*30000
00003*30000
00125*52100
001*****100
00123332100
Field #3:
12210001221
2**21002**1
3*5*2103*41
3*42*213*30
3*312*24*30
4*3012*5*30
**20012**20
22100012210
Field #4:
12333321000
2******2100
3*53333*210
3*300013*20
3*300013*20
3*53333*210
2******2100
12333321000
正确结果应为:Field #1:
01110001110
02*20002*20
03*31113*30
03*42*24*30
02*4*3*4*20
013*323*310
002*202*200
00111011100
Field #2:
00123332100
001*****100
00124*42100
00003*30000
00003*30000
00124*42100
001*****100
00123332100
Field #3:
12210001221
2**21002**1
3*4*2103*41
3*42*213*30
3*312*24*30
4*3012*4*30
**20012**20
22100012210
Field #4:
12333321000
2******2100
3*53333*210
3*300013*20
3*300013*20
3*53333*210
2******2100
12333321000
测试结果4: 输出过长|用户输出数据超过标准输出两倍[标准输出1029位|选手输出10211位]
我就不说前面2个点全部一样,但第3个点的4应该是5吧,请出题者和管理员速进
您的话太对了,我也是这个问题。
也许是出数据的人太萌了吧,反正已经有N多人开骂了!
[/color]
我的也是错的~:
/*
查看题目 Show Problem
题目:扫雷
问题编号:484 [提交该题] [讨论该问题] [有关讨论] [Who AC] [相关题解] [最优解]
My Flag:Unsubmited
题目类型
字符串处理
描述
你玩过扫雷游戏吗?这个有趣的小游戏来自于某个被人们遗忘的操作系统.游戏的目标是找出一个n×m矩阵内的所有地雷.在本题中,你需要为每个单元格统计出他周围的地雷个数.每个单元格最多有8个相邻的单元格.下图的4×4矩阵中有两个地雷,用’*’表示.计算结果为右边的矩阵:
输入格式
输入将包含若干个矩阵,对于每一个矩阵,第一行包含两个数字n和m(0<n,m<=100),分别代表这个剧真的行数和列数.接下来的n行每行包含m个字符,即该矩阵.安全区域用’.’表示,有地雷的区域用’*’表示.当n=m=0时,输入文件结束.
输出格式
对于第x个矩阵,首先在单独的一行里打印序号:’Field #x:’,接下来的n行中,读入的’.’应被该位置周围的地雷数所代替.输出的每两个矩阵必须用一个空行隔开
样例输入
4 4
*...
....
.*..
....
3 5
**...
.....
.*...
0 0
样例输出
Field #1:
*100
2210
1*10
1110
Field #2:
**100
33200
1*100
*/
#define INT_MAX 2000
#include<stdio.h>
#include<memory.h>
main (){
int m,n,i,j,k;
int dis[102][102];
char field[102][102];
m=1,n=2,k=0;
while (m!=0&&n!=0){
scanf("%d %d",&m,&n);
if (m==0&&n==0) break;
memset(dis,0,sizeof(dis));
for (i=1;i<=m;++i){
scanf("%s",field[i]);
for (j=0;j<n;++j)
if (field[i][j]==’*’){
++dis[i-1][j-1];
++dis[i-1][j];
++dis[i-1][j+1];
++dis[i][j-1];
++dis[i][j+1];
++dis[i+1][j-1];
++dis[i+1][j];
++dis[i+1][j+1];
dis[i][j]=-INT_MAX;
}
}
if (k!=0) printf("\n\n");
++k;
printf("Field #%d\n",k);
for (i=1;i<=m;++i){
for (j=0;j<n;++j)
if (dis[i][j]<0) printf("*");
else printf ("%d",dis[i][j]);
if (i!=m) printf("\n");
}
}
// while (1);
return 0;
}