题解 | 扫雷

扫雷

https://www.nowcoder.com/practice/d5f277427d9a4cd3ae60ea6c276dddfd

#include <stdio.h>

int main() {
    int n = 0, m = 0, i = 0, j = 0, count[1001][1001], p = 0, q = 0;
    char ch[1001][1001];
    while (scanf("%d %d", &n, &m) != EOF) {//可以多组输入
        for (i = 0; i < n + 2; i++) {//将棋盘定为(n+2)*(m+2)
            for (j = 0; j < m + 2; j++) {
                if (i == 0 || j == 0 || i == n + 1 || j == m + 1)//外围为空
                    ch[i][j] = ' ';
                else
                    scanf(" %c", &ch[i][j]);//赋值
            }
        }
        for (i = 1; i < n + 1; i++)//判断*数量
            for (j = 1; j < m + 1; j++) {
                count[i][j] = 0;
                for (p = 0; p < 3; p++)
                    for (q = 0; q < 3; q++)
                        if (ch[i - 1 + p][j - 1 + q] == '*')
                            count[i][j]++;
            }
        for (i = 1; i < n + 1; i++) {//打印
            for (j = 1; j < m + 1; j++) {
                if (ch[i][j] == '*')
                    printf("*");
                else
                    printf("%d", count[i][j]);
            }
            printf("\n");
        }
    }
    return 0;
}

全部评论

相关推荐

03-03 23:12
已编辑
北京邮电大学 Java
书海为家:我来给一点点小建议,因为毕竟还在学校不像工作几年的老鸟有丰富的项目经验,面试官在面试在校生的时候更关注咱们同学的做事逻辑和思路,所以最好在简历中描述下自己做过项目的完整过程,比如需求怎么来的,你对需求的解读,你想到的解决办法,遇到困难如何找人求助,最终项目做成了什么程度,你从中收获了哪些技能,你有什么感悟。
你的简历改到第几版了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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