UVA 10189 C - MINES p
来源:互联网 发布:mac mail qq企业邮箱 编辑:程序博客网 时间:2024/04/29 22:30
C - MINES p
Time Limit: 3000MS Memory Limit: Unknown 64bitIO Format: %lld & %llu
[Submit] [GoBack] [Status]
Description
The Problem
Have you ever played Minesweeper? It's a cute little gamewhich comes within a certain Operating System which name we can'treally remember. Well, the goal of the game is to find where areall the mines within a MxN field. To help you, the game shows anumber in a square which tells you how many mines there areadjacent to that square. For instance, supose the following 4x4field with 2 mines (which are represented by an *character):
*...
....
.*..
....
If we would represent the same field placing the hint numbersdescribed above, we would end up with:
*100
2210
1*10
1110
As you may have already noticed, each square may have at most8 adjacent squares.
The Input
The input will consist of an arbitrary number of fields. Thefirst line of each field contains two integers n and m (0< n,m <= 100) which stands for thenumber of lines and columns of the field respectively. The next nlines contains exactly m characters and represent the field. Eachsafe square is represented by an "." character (without the quotes)and each mine square is represented by an "*" character (alsowithout the quotes). The first field line where n = m = 0represents the end of input and should not beprocessed.
The Output
For each field, you must print the following message in a linealone:
Field #x:Where x stands for the number of the field (startingfrom 1). The next n lines should contain the field with the "."characters replaced by the number of adjacent mines to that square.There must be an empty line between fieldoutputs.
Sample Input
4 4
*...
....
.*..
....
3 5
**...
.....
.*...
0 0
Sample Output
Field #1:
*100
2210
1*10
1110
Field #2:
**100
33200
1*100
--------------------------------------------------------------------------------
? 2001 Universidade do Brasil (UFRJ). Internal Contest Warmup2001.
Input
Output
Sample Input
Sample Output
Hint
[Submit] [Go Back] [Status]
这题其实挺简单的,但是就是一个空行的位置让我纠结了半天也没过,注意啊注意
代码:
#include<stdio.h>
#include<string.h>
int main()
{
char map[202][202];
intnum[202][202],k,s,kx,ky,i,j,m,n,sum=0,flag[8][2]={-1,-1,-1,0,-1,1,0,-1,0,1,1,-1,1,0,1,1};
scanf("%d%d",&m,&n);
if(m==0&&n==0)return 0;
while(1)
{
sum++;
memset(num,0,sizeof(num));
for(i=0;i<m;i++)
scanf("%s",map[i]);
printf("Field #%d:\n",sum);
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
if(map[i][j]=='*')
printf("*");
else{
s=0;
for(k=0;k<8;k++)
{
kx=i+flag[k][0];
ky=j+flag[k][1];
if(kx>=0&&kx<m&&ky>=0&&ky<n&&map[kx][ky]=='*')
s++;
}
printf("%d",s);
}
printf("\n");
}
scanf("%d%d",&m,&n);
if(m==0&&n==0)
break;
else printf("\n");
}
return 0;
}
- UVA 10189 C - MINES p
-  
-
- C++ static_cast
- ACM: uva 1335 - Beijing Guards
- ACM: uva 10391 - Compound Words
- ACM: uva 10534 - Wavio Sequence
- ACM: uva 11538 - Chess Queen
- ACM: uva 1073 - Glenbow Museum
- hdoj acm 1008
- HDOJ 1984 Mispelling4
- Objective C 监听 通知
- fzu 1759 A^B % C
- 衡阳八中 1856 数论 C(n,m) % p
- UVa 10300 Ecological Premium
- uva 401 - Palindromes
- ACM: 数学题 uva 11300
- ACM: uva 11584 -
- ZZULI_SummerPractice(4) POJ 1102…
- ZZULI_SummerPractice(4) POJ 2312…
- ZOJ 2851 Code Formatter
- 批处理扫盲篇
- 基于HTML5和Tomcat WebSocketServlet的聊天室简单实现
- UVA 10189 C - MINES p
- ZOJ 3432 Find the Lost Sock
- HDU 动态规划(46道题目)倾情奉献
- HDU 2577 How to Type (DP)
- 背包九讲
- POj 1159 Palindrome (dp)
- ZZULI_SummerPractice(5) ZOJ 185…
- ZZULI_SummerPractice(5) ZOJ 194…
- 卡通渲染效果shard-1