天空


私信TA

用户名:673953508

访问量:15383

签 名:

别看了,全是水题

等  级
排  名 502
经  验 4584
参赛次数 1
文章发表 22
年  龄 20
在职情况 学生
学  校 广东技术师范学院
专  业 计算机科学与技术

  自我简介:

解题思路:
每次输入雷的时候就开始判断8个位置




注意事项:

小心回车和输出有空行





参考代码:

#include <iostream>

#include <algorithm>

#include <cstring>

using namespace std;


char field[105][105];


int main(){


int h,l;

char a;

int round = 0;

while(scanf("%d%d",&h,&l)==2 && h != 0){

getchar();

memset(field,'0',sizeof(field));

for(int i = 0; i < h; i++){

for(int j = 0; j < l; j++){

a = getchar();

if(a == '*'){

field[i][j] = '*';

if((i-1 >= 0 && j-1 >= 0) && field[i-1][j-1] != '*') field[i-1][j-1]++;

if((i-1 >= 0) && field[i-1][j] != '*') field[i-1][j]++;

if((i-1 >= 0 && j+1 < l) && field[i-1][j+1] != '*') field[i-1][j+1]++;

if((j-1 >= 0) && field[i][j-1] != '*') field[i][j-1]++;

if((j+1 < l) && field[i][j+1] != '*') field[i][j+1]++;

if((i+1 < h && j-1 >= 0) && field[i-1][j] != '*') field[i+1][j-1]++;

if((i+1 < h) && field[i-1][j] != '*') field[i+1][j]++;

if((i+1 < h && j+1 < l) && field[i-1][j] != '*') field[i+1][j+1]++;

}

}

getchar();

}

printf("Field #%d:\n",++round);

for(int i = 0; i < h; i++){

for(int j = 0; j < l; j++){

printf("%c",field[i][j]);

}

putchar('\n');

}

printf("\n");

}

return 0;

}


 

0.0分

0 人评分

  评论区

  • «
  • »