H. Prince and Princess(南京区域赛)

莫契王国的莫奇王子爱上了托福王国的托福公主,但托福王国的女王不同意这一婚姻。

女王挑战了他们的爱,并倡导给莫奇王子一项任务。解决这个问题是他们获得幸福的前提。由于缺乏能力,莫奇王子不得不向你求助。

任务是:托福公主、托福国王、王后、大臣、女仆、厨师和许多其他人在一起完成这项任务,所有的人都住在单独的房间里。请注意,这里没有空房间。他们每个人都知道自己在哪里,也知道其他人在哪里。

莫奇王子被要求找到公主。他可以询问任何人以下三种类型的问题:

  • 你是谁?
  • 谁住在指定的房间里?
  • 托福公主住在哪个房间?

他们绝不会拒绝回答这些问题,但可能不会说出真相。包括托福公主本人在内的支持这一婚姻的人将陈述事实。反对派,就像女王一样,总是给出错误的答案。其他与会者将是武断的。

莫奇王子不想花太多时间,所以他会尽可能少地提出质疑。你能告诉他,在任何情况下,他确实需要多少个问题才能确定他的爱人在哪里?但有时,任务是不可能的,那么你也应该提醒他开始一段新的恋情。

输入

输入中的唯一一行包含三个整数。A~(1le a\le 2乘以10^5)a (1≤a≤2×105), bb和C~(0\le b,c\le 2乘以10^5)c (0≤b,c≤2×105)它们分别代表支持这一婚姻、反对这一婚姻和不真正关心这一婚姻的参与者的数量。

输出量

如果无法确定莫奇王子在哪里,输出NO...否则,输出YES首先,在表示问题的最小数量的整数之后,王子需要在第二行中查询。

样例输入1复制

2 0 0

样例输出1复制

YES
1

样例输入2复制

1 1 0

样例输出2复制

NO

样例解释2

在第二个例子中,Mochi王子可以向两位参与者提出所有可用的问题。然而,如果他们总是提供相同的答案,王子无法确保公主在哪里。所以答案是NO.

【思路】

正确的要比错误的数目多一,才能找到公主;

另外,需要加几个特判。

#include <iostream>
using namespace std;
int main()
{
    ios::sync_with_stdio(false);
    int a,b,c;
    while(cin>>a>>b>>c)
    {
        int sum=0;
        if(a<=b+c)
        {
            cout<<"NO"<<endl;
            break;
        }
        if(a==1&&b==0&&c==0)
        {
            cout<<"YES"<<endl;
            cout<<"0"<<endl;
            break;
        }
        sum=(b+c)*2+1;
        cout<<"YES"<<endl;
        cout<<sum<<endl;
    }
}

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值