题解 | #扫雷#

扫雷

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

#include <stdio.h>

int main()
{
    int n, m;
    scanf("%d%d", &n, &m);
    char arr[1000][1000]={0};//如果这里写arr[n+2][m+2]的话不可以直接初始化,如果不初始化那么多的两行随机生成字符,有可能随机为'*',所以必须初始化!!!
    for (int i = 1; i <= n; i++)//赋值内圈(去掉外围一圈)
    {
        for (int j = 1; j <= m; j++)
        {
            scanf(" %c ", &arr[i][j]);
        }
    }
    for (int i = 1; i <= n; i++)//遍历内圈所有元素
    {
        for (int j = 1; j <= m; j++)//遍历内圈所有元素
        {
            if (arr[i][j] != '*')//判断是否为*,如果不是,就计算周围有多少个(九宫格计算)
            {
                int count = 0;//遍历该元素九宫格,如果是count++。
                for (int q = i - 1; q <= i + 1; q++)
                {
                    for (int p = j - 1; p <= j + 1; p++)
                    {
                        if (arr[q][p] == '*')
                            count++;
                    }
                }
                printf("%d",count);//打印周围有几个雷
            }
            else {
            printf("*");//打印雷
            }
        }
        printf("\n");
    }
    return 0;
}

全部评论

相关推荐

小厂面经,也是我的处女面(30min)1.自我介绍2.spring&nbsp;boot的自动装配原理(好多类和接口的单词都忘了全称是啥了,就说了记得的单词,流程应该说对了吧)3.有用过redis吗?主要是用在实现什么功能(说了技术派用redis的zset来实现排行榜)5.有了解过Redisson吗?讲一下对于分布式锁的了解以及在什么场景下应用(说了秒杀场景)6.对mysql有了解吗?包括它的索引优化和创建(把想起来的全说了)7.了解设计模式吗?比如单例模式,为什么要使用单例模式,它的优点是什么(昨天刚看的设计模式)8.工厂模式有了解吗?主要的使用场景是?(也是昨天刚看的)9.场景题:有7个服务器,需要在早上十点定时的向数据库中的用户表中的用户发短信,如果做到发送的消息不重复,且如果发送失败了需要知道是到哪个用户失败了,这样下次就直接从这个用户开始(我答了用spring&nbsp;task来实现定时,用分布式锁来保证只有一份服务器可以发送消息,用消息队列来存储消息,然后用消息确认机制来保证错误信息的记录,以及在数据库或者业务层面完成消息消费的幂等性)10.场景题:如果在系统启动的时间就将数据库的所有用户相关的信息都读到一个hashmap中(这个没啥思路,没答好)27届的投了一个星期终于有一个面试了,大部分公司都只招26的
inari233:已oc,拒了
查看9道真题和解析
点赞 评论 收藏
分享
评论
3
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务