思路极简,代码贼繁

#define _CRT_SECURE_NO_WARNINGS

#include<stdio.h>

int main()

{

int n, m;

scanf("%d%d", &n, &m);

getchar();

char a[100][100];

for (int i = 0; i < n; i++)

{

for (int j = 0; j < m; j++)

{

a[i][j] = getchar();

}

getchar();

}

char b[100][100];

for (int i = 0; i < 100; i++)

{

for (int j = 0; j < 100; j++)

{

b[i][j] = '0';

}

}

for (int i = 0; i < n; i++)

{

for (int j = 0; j < m; j++)

{

if (a[i][j] == '*')

{

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

if (i == 0)

{

if (j == 0)

{

if (b[i + 1][j] != '*') b[i + 1][j] += 1;

if (b[i + 1][j + 1] != '*') b[i + 1][j + 1] += 1;

if (b[i][j + 1] != '*') b[i][j + 1] += 1;

}

else if (j == m - 1)

{

if (b[i + 1][j] != '*') b[i + 1][j] += 1;

if (b[i + 1][j - 1] != '*') b[i + 1][j - 1] += 1;

if (b[i][j - 1] != '*') b[i][j - 1] += 1;

}

else {

if (b[i][j - 1] != '*') b[i][j - 1] += 1;

if (b[i + 1][j - 1] != '*') b[i + 1][j - 1] += 1;

if (b[i + 1][j] != '*') b[i + 1][j] += 1;

if (b[i + 1][j + 1] != '*') b[i + 1][j + 1] += 1;

if (b[i][j + 1] != '*') b[i][j + 1] += 1;

}

}

else if (i == n - 1)

{

if (j == 0)

{

if (b[i - 1][j] != '*') b[i - 1][j] += 1;

if (b[i - 1][j + 1] != '*') b[i - 1][j + 1] += 1;

if (b[i][j + 1] != '*') b[i][j + 1] += 1;

}

else if (j == m - 1)

{

if (b[i - 1][j] != '*') b[i - 1][j] += 1;

if (b[i - 1][j - 1] != '*') b[i - 1][j - 1] += 1;

if (b[i][j - 1] != '*') b[i][j - 1] += 1;

}

else {

if (b[i][j - 1] != '*') b[i][j - 1] += 1;

if (b[i - 1][j - 1] != '*') b[i - 1][j - 1] += 1;

if (b[i - 1][j] != '*') b[i - 1][j] += 1;

if (b[i - 1][j + 1] != '*') b[i - 1][j + 1] += 1;

if (b[i][j + 1] != '*') b[i][j + 1] += 1;

}

}

else

{

if (j == 0)

{

if (b[i - 1][j] != '*') b[i - 1][j] += 1;

if (b[i - 1][j + 1] != '*') b[i - 1][j + 1] += 1;

if (b[i][j + 1] != '*') b[i][j + 1] += 1;

if (b[i + 1][j + 1] != '*') b[i + 1][j + 1] += 1;

if (b[i + 1][j] != '*') b[i + 1][j] += 1;

}

else if (j == m - 1)

{

if (b[i - 1][j] != '*') b[i - 1][j] += 1;

if (b[i - 1][j - 1] != '*') b[i - 1][j - 1] += 1;

if (b[i][j - 1] != '*') b[i][j - 1] += 1;

if (b[i + 1][j - 1] != '*') b[i + 1][j - 1] += 1;

if (b[i + 1][j] != '*') b[i + 1][j] += 1;

}

else

{

if (b[i - 1][j] != '*') b[i - 1][j] += 1;

if (b[i - 1][j - 1] != '*') b[i - 1][j - 1] += 1;

if (b[i][j - 1] != '*') b[i][j - 1] += 1;

if (b[i + 1][j - 1] != '*') b[i + 1][j - 1] += 1;

if (b[i + 1][j] != '*') b[i + 1][j] += 1;

if (b[i - 1][j + 1] != '*') b[i - 1][j + 1] += 1;

if (b[i][j + 1] != '*') b[i][j + 1] += 1;

if (b[i + 1][j + 1] != '*') b[i + 1][j + 1] += 1;

}

}

}

}

}

for (int i = 0; i < n; i++)

{

for (int j = 0; j < m; j++)

{

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

}

printf("\n");

}

return 0;

}

全部评论

相关推荐

点赞 评论 收藏
分享
点赞 评论 收藏
分享
嗨害嗨我来了:你跟他说开迈巴赫呢,一个月好几万,让学弟尝尝一点小小的社会险恶
点赞 评论 收藏
分享
昨天 20:45
门头沟学院 Java
A了2,有希望嘛?大家都A了多少?
人生不只是工作:第二题啥情况,不是直接取最大值然后减前缀数组长度就行了嘛
投递携程等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务