UVa 10189 Minesweeper

来源:互联网 发布:cad软件 编辑:程序博客网 时间:2024/04/25 10:22
#include<stdio.h>#include <memory.h>int Result[100][100];char Str[100][100];int Move[8][2] = {{-1,-1},{-1,0},{-1,1},{0,-1},{0,1},{1,-1},{1,0},{1,1},};int main(){    int cases=0;    int n,m;    int row,line;    int i,j,k;    while(scanf("%d %d",&n,&m))    {        if(n==0&&m==0)break;               memset(Result, 0, sizeof(Result));        for(i=0;i<n;i++)        {            scanf("%s",Str[i]);        }                for(i=0;i<n;i++){        for(j=0;j<m;j++){if(Str[i][j]=='*'){Result[i][j] = -999;for(k=0;k<8;k++){row = i+Move[k][0];line = j+Move[k][1];if(row>=0 && line>=0 && row<n && line<m){Result[row][line]++;}}}        }        }        if(cases!=0)printf("\n");     cases++;       printf("Field #%d:\n",cases);        for(i=0;i<n;i++)        {        for(j=0;j<m;j++)        {        printf("%c",(Result[i][j]>=0)?('0'+Result[i][j]):'*');        }        printf("\n");        }    }     return 0;}

0 0
原创粉丝点击