2019深信服笔试 —— 猎人抓兔子

题目描述:

假设兔子有n个排成一排的洞,编号为1和n。兔子每天晚上跳到相邻的一个洞里住,而猎人每天白天检查其中的一个洞。猎人告诉你每天检查的洞的编号,希望你分析一下是否一定能抓到兔子。

输入描述:

首先输入n和k(n,k<1000),分别表示洞的个数和猎人要检查的天数;接下来输入k个整数,表示猎人每天检查的洞的编号。

输出描述:

对于每个样例,如果一定能抓到兔子,输出Yes,否则输出No。

示例:

样例1:

输入:

3  2

2  2

输出:

Yes

思路分析:

       首先将所有洞口的值置为1,表示兔子可能在此洞中;假设猎人每次检查洞口都抓不到兔子(兔子不在此洞中),将该洞口的值置为0;再将每天晚上兔子可能跳到的洞口值置为1,不可能跳到的洞口值置为0,当所有的洞口全为0的时候兔子无洞可逃,则肯定会被猎人抓住。

代码如下:

#include<iostream>
#include<vector>
using namespace std;void print(vector<int> ivec)
{for (size_t i = 0; i < ivec.size(); i++){cout << ivec[i] << " ";}cout << endl;
}
bool canCatchRibbit(vector<int> holeNums, vector<int> checked)
{int k = holeNums.size();int n = checked.size();bool flag = true;int cnt = n;  //  cnt为兔子能待的洞的个数,初试化为所有洞的个数for (int i = 0; i < k; i++){int holeNum = holeNums[i] - 1; //  holeNum为洞的编号在vector中的序号,//  如:编号为1的洞在vector里面存的是0if (checked[holeNum] == 1){checked[holeNum] = 0;cnt--;}print(checked);cout << "----------------" << endl;if (cnt == 0)   //  如果兔子能待的洞的个数为0,则兔子肯定会被逮住{flag = false;break;}int temp = checked[n - 2];for (int j = 0; j < n; j++){if (checked[j] == 1){checked[j] = 0;cnt--;if (j>0 && checked[j - 1] == 0){checked[j - 1] = 1;cnt++;}if (j < n - 1 && checked[j + 1] == 0){checked[j + 1] = 1;cnt++;j++;  //  原来值为0的洞现在为1后是不能往相邻的洞跳,故继续检查下一个洞}if (j == n - 1 && temp == 1)   //  处理最后一个洞口值{checked[j] = 1;cnt++;}}}print(checked);}return flag;
}int main()
{int n, k;  //  n为洞的个数,k为检查的天数cin >> n >> k;vector <int> holeNums(k, 0);  //  holeNums为每天检查的洞的编号for (auto &m : holeNums)cin >> m;vector<int> checked(n, 1);  //  checked为每天检查的洞中是否有兔子,可能有兔子则值为1,//  一定没兔子则值为0,全部初始化为1;cout << "----------------" << endl;print(checked);bool flag = canCatchRibbit(holeNums, checked);if (!flag)cout << "Yes" << endl;elsecout << "No" << endl;return 0;
}

运行结果如下:

        

2019深信服笔试 —— 猎人抓兔子相关推荐

  1. sdn 深信服_推动物联网安全行业发展,青莲云受邀出席2019深信服创新大会

    近日,以"畅想"为主题的2019深信服创新大会在深圳举办,本次大会由深信服科技.IDC 联合主办,是一场围绕着数字化创新技术的IT盛会,2000余位各行业IT管理者和深信服的合作伙 ...

  2. 猎人抓兔子 - (广度优先算法)

    题目描述: 假设有一只兔子,有4个排成一排的洞,编号为1和4.兔子每天晚上跳到相邻的一个洞里住,2号洞可以跳1号和3号洞,4号洞只能跳3号洞.而猎人每天白天检查其中的一个洞.猎人告诉你每天检查的洞的编 ...

  3. 2019深信服校招——木板接水

    2019深信服校招--木板接水 题目描述 空地上竖立着n个从左到右排列的木板,它们可以把水挡住,但溢出最边上木板的水将会流到空地上.已知木板间距都是单位1,现给定每个木板的高度,请求出总共能接住的水量 ...

  4. 深信服笔试题 php,2019深信服校招笔试题------木板接水

    2019深信服校招笔试题--木板接水 题目: 空地上竖立着n个从左到右排列的木板,它们可以把水挡住,但溢出最边上木板的水将会流到空地上.已知木板间距都是单位1,现给定每个木板的高度,请求出总共能接住的 ...

  5. 网络工程师面试经验分享_深信服笔试面试问答总结-有一定深度!完整版「建议收藏」

    笔试题目: 笔试题目中有单选.多选.分析题和综合题.单选.多选都属于比较基础的题目,什么OSI参考模型,什么UDP传输方式,什么TCP要几次握手啊,什么传输文件用什么协议啊. 基础又简单的题目,有点网 ...

  6. 2020春招深信服笔试面试经验

    记录自己人生的第一个offer.本人北交通信工程渣渣,因为不喜欢通信,所以应聘的都是编程岗位. 下面记录的是2020年春招深信服的一些经过. 深信服大致春招流程:网申--简历筛选--笔试--技术一面- ...

  7. 2018深信服笔试-抓兔子 DP

    第一反应是枚举兔子起点+DFS,不过同学说过不了. dp的思路是:第i天第j个洞是否可能存在兔子,当天被访问的洞标位0,其余能到的洞为1,最后一天如果全是0的就一定能捉到 dp[i][j]==1 == ...

  8. 猎人抓兔子的bfs搜索解法

    有五个山洞,一字排开,一只兔子住在某个洞,每天晚上会换住到相邻的洞中,一个猎人只能每天早上去一个洞,问怎样的检查序列能确保抓到兔子. 这个问题,可以说是一个智力题了,当然我的智力没有达标,所以没有想出 ...

  9. 9.10 深信服笔试记录

    笔试有填空题和选择题,分值不多,但是第一次做这种还是有点意思的. 大多数题目记不清了(下午的时候忘记记录了),就记录几个值得注意的点吧. 结构体struct的对齐问题 小白鼠试毒问题(我当时并没有想清 ...

最新文章

  1. 基于SpringBoot的乡村医生诊疗系统的设计与实现
  2. 操作系统识别工具 xprobe2 p0f 简介
  3. python调用gitlab api自动合并分支_Python3 如何使用 GitLab API 进行批量的合并分支
  4. CSAPP第7章家庭作业参考答案
  5. 数据库-优化-数据库系统配置优化-配置文件优化
  6. CodeForces - 1301C Ayoub's function(数学)
  7. Arch Linux 没有声音:Intel sound card snd_hda_intel not working 解决方法
  8. Spork: Pig on Spark实现分析
  9. JDK源码解析之 java.lang.Error
  10. java 数据库外键查询_oracle中查询所有外键引用到某张表的记录
  11. java类 家族成员 姓氏_中国史上十大家族,占据中国九大姓,看看有没有你的姓氏...
  12. oracle查询访问记录,oracle 访问 记录
  13. python干货分享/网址总结
  14. html5 css3思维导图,手把手整理CSS3知识汇总【思维导图】
  15. 为云服务器(VPS)增加一个站点支持
  16. 解决 hadoop 2.x 配置 yarn 运行任务 Running job 卡住
  17. 715. Range Module
  18. 安卓模仿微信通讯录--RecyclerView+SideBar
  19. 【收藏】新年和圣诞祝词大全
  20. 帝国理工学院计算机专业排名,帝国理工学院专业排名一览及最强专业推荐(上交世界排名)...

热门文章

  1. 工业相机镜头选型案例分析
  2. 计算机硬盘的容量比光盘大得多,gis水平考题.doc
  3. word滑动时出现花屏/黑线
  4. 吴军的《态度》读后感整理
  5. 亚马逊商品详情API接口-(item_get-获得AMAZON商品详情接口),亚马逊详情API接口
  6. 一大波年终工作总结PPT来袭赶紧收藏!
  7. SpringCloud eureka 高集群注册中心
  8. Ubuntu开发环境配置(七) 卸载Mysql
  9. 中国区2011年2季度安全威胁报告
  10. python贴吧顶贴_超级小白可上手的python豆瓣自动顶贴