H - Prince and Princess 计蒜客 - 42402

题意:

你现在要寻找公主,有三种人,第一种是说真话的人(至少为1,因为公主是说真话的人),第二种人是只会说假话的,第三种是胡说八道的(说的话真假都有可能)。现在给你三种人的数量,你对于任何一个人可以问三种问题:
1.你是谁
2.谁在指定的房间里
3.公主在哪个房间
问最少问多少问题找到公主,如果找不到输出NO

题解:

我们可以分析出,三种问题只有第三个有用,我们要考虑极端情况下如何找到公主,极端情况就是第二,三种人会统一说一样的错误的答案,所以我们要找到公主必须保证说真话的人>说假话+胡说八道的人,也就是a>b+c一定有解,最少问问题数量,极端情况下我们一开始问到的都是第二,三种人,也就是我们会得到b+c个错误的房间答案,然后问到的都是正确的人,当一个房间的答案>b+c后,说明这就是正确答案,因为a>b+c,所以正确答案一定大于b+c,所以最少问(b+c)+(b+c)+1
但是有个坑,如果a=1,b=0,c=0,此时一个问题也不用问,因为a=1这个人就是公主,就公主一个人还问啥问题,直接就找到了,脑筋急转弯。。。

代码:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{int a,b,c;cin>>a>>b>>c;if(a>(b+c)){puts("YES");if(a==1&&b==0&&c==0)cout<<0;else cout<<(b+c)*2+1;}else {puts("NO");}return 0;
}

H - Prince and Princess 计蒜客 - 42402相关推荐

  1. 最短路(遍历边)计蒜客—DD坐地铁

    题目: C 城有 n 个站点, m 条双向地铁,每条地铁有一个 companyicompany_icompanyi​表示它的公司,如果连续乘坐同一家公司的地铁只要花 1元钱就好.DD现在想出门找萨摩耶 ...

  2. C - Digital Path 计蒜客 - 42397 05-29

    C - Digital Path 计蒜客 - 42397 题意: 题意就是给出一个n ∗ m的数字矩阵每个矩阵元素之间只能上下左右走,而且下一个位置必须比当前位置的数字大1,入口和出口必须数边缘元素, ...

  3. 计蒜客 - T1012 A*B问题

    计蒜客 - T1012 A*B问题 相信你已经学会 A+B 问题了,那么问题又来了- 输入两个正整数 A 和 B ,求 A×B. 输入格式 一行,包含两个正整数 A 和 B,中间用单个空格隔开. 1≤ ...

  4. 计蒜客 - 蒜头君的任务

    计蒜客 蒜头君的任务 题目描述 蒜头君的上司给蒜头君布置了一个任务,蒜头君维护一个数列,要求提供以下两种操作: 查询操作. 语法:Q L 功能:查询当前数列中末尾 L L L 个数中的最大的数,并输出 ...

  5. DD 摆磁铁(计蒜客信息学8月普及组模拟赛)

    DD 摆磁铁 这道题来自 计蒜客信息学8月普及组模拟赛 普及组!! 把我一个TG选手看懵了 看来我要回去打普及了 题目大意 给出一个n个节点的树,要把树上给定的2*m个节点两两配对,两个节点配对的产生 ...

  6. 【计蒜客系列】挑战难题4:简单斐波那契

    题目来源:计蒜客 斐波那契数列是一种非常有意思的数列,由 0 和 1 开始,之后的斐波那契系数就由之前的两数相加.用数学公式定义斐波那契数列则可以看成如下形式: F0=0 F1=1 Fn=Fn-1+F ...

  7. 计蒜客:密码锁---bfs

    计蒜客:密码锁-bfs 题目描述: 现在一个紧急的任务是打开一个密码锁.密码由四位数字组成,每个数字从1到9进行编号.每次可以对任何一位数字加1或减1.当将9加1时,数字变为1,当1减1时,数字变为9 ...

  8. 计蒜客 2020 蓝桥杯大学 A 组省赛模拟赛 (一)题目及解析

    新手,欢迎交流,剩下D题不知如何下手,望大佬指教. 计蒜客 2020 蓝桥杯大学 B 组省赛模拟赛 (一)题目及解析 文章目录 A. 结果填空:计算周长 B. 结果填空:七巧板 C. 结果填空:苹果 ...

  9. 计蒜客题解——T1244:单词序列

    题目相关 题目链接 计蒜客 OJ,https://nanti.jisuanke.com/t/T1244. 我的 OJ,http://47.110.135.197/problem.php?id=4766 ...

最新文章

  1. OC特有语法:分类category,给NSString增加方法计算字符串中数字的个数
  2. think php5是什么,thinkphp5是什么
  3. Curator实现分布式锁的基本原理-InterProcessMutex.internalLock
  4. 使用@Rule在JUnit中测试文件和目录
  5. LeetCode206:Reverse Linked List
  6. 一个问题就可以辨别真假NLP(自然语言处理)研究者
  7. 【WEB2.0】 网页调用QQ聊天(PC+M站)
  8. C++ protected 一种使用场景
  9. 解决p4c安装时protobuf未定义引用的错误
  10. c mysql 包含字符串_Mysql字符串字段判断是否包含某个字符串的2种方法
  11. python电脑版-python
  12. 中间弹框_Flutter AlertDialog弹框的基本使用概述
  13. c#如何实现叫号操作_C#开发银行叫号系统方案
  14. 各种常见3D建模软件比较
  15. ASO优化的盲点:Apple ID权重必须考量
  16. 美国电话号码格式化的Objective-C代码
  17. OBS插件开发以及OBS插件的选择(obs直播插件)
  18. Windows系统中 Xmanager 6 企业版下载安装激活教程
  19. 追光而遇,沐光而行:相约未来GIS实验室
  20. 微信最新授权登录 微信小程序无法弹出授权弹框 open-type getUserInfo获取不到用户信息 授权不弹框

热门文章

  1. 为什么说人工智能是一个大谎言
  2. 化学版2048,你玩过吗?内含游戏链接
  3. 浅析 Sunday 算法
  4. java笔试题递归,递归(网上搜的一些笔试题)
  5. h5通过php微信支付宝支付,用H5调用支付微信公众号支付的解析
  6. android的热点分配ip_Android 得到连接热点的ip的方法
  7. java中week of year_Java WeekFields weekOfYear()用法及代码示例
  8. python二维列表写入excel_用Python实现合并excel列表
  9. tankwar java_TankWar 单机(JAVA版) 版本0.3 画出坦克
  10. linux 修改默认脚本,linux环境初始脚本