标题:你会吗?
取消只看楼主
yelo20053533
Rank: 1
等 级:新手上路
帖 子:161
专家分:0
注 册:2006-11-27
 问题点数:0 回复次数:3 
你会吗?

The Problem

*...
....
.*..
....

根据上面的地图,可以计算出应该提供给游戏者的数字如下所示:

*100
2210
1*10
1110

每个数字表示了该方格周围到底有几个地雷,当然,一个方格周围最多的时候只会有八个。

The Input

输入中将包括一系列的地图,每个地图的第一行有两个整数 n 和 m(0 <n,m <= 100),它们表示了地图的行数和列数。下面的 n 行每行都有 m 个字符,其中 "." 表示安全而 "*" 表示地雷。如果地图的 n 和 m 都为 0,则表示输入结束。

The Output


针对每一个地图,首先输出一行:

Field #x:
其中 x 是当前地图的编号(从 1 开始)。下面的 n 行则将地图中的 "." 以数字表示,该数字表示该方格周围有多少颗地雷。

Sample Input

4 4
*...
....
.*..
....
3 5
**...
.....
.*...
0 0

Sample Output
Field #1:
*100
2210
1*10
1110

Field #2:
**100
33200
1*100

[此贴子已经被作者于2006-12-3 1:02:39编辑过]

搜索更多相关主题的帖子: center 
2006-12-02 16:05
yelo20053533
Rank: 1
等 级:新手上路
帖 子:161
专家分:0
注 册:2006-11-27
得分:0 

可是输出时两部分之间有隔一行,应该怎么控制呢?

2006-12-02 20:23
yelo20053533
Rank: 1
等 级:新手上路
帖 子:161
专家分:0
注 册:2006-11-27
得分:0 
got it
2006-12-03 01:02
yelo20053533
Rank: 1
等 级:新手上路
帖 子:161
专家分:0
注 册:2006-11-27
得分:0 
以下是引用nuciewth在2006-12-3 9:16:35的发言:

刚开始我没有考虑多组测试的问题.
int flag=0;
while(EOF!=(scanf("%d%d",&n,&m))&&!(n==0&&m==0))
{
if(flag==1)
{
printf("\n");
}
else
{
flag=1;
}

....

}

谢谢,我已经自己解决了,我用的是while循环

2006-12-03 17:15



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-106804-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.840890 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved