H - Prince and Princess 计蒜客 - 42402
H - Prince and Princess 計(jì)蒜客 - 42402
題意:
你現(xiàn)在要尋找公主,有三種人,第一種是說(shuō)真話的人(至少為1,因?yàn)楣魇钦f(shuō)真話的人),第二種人是只會(huì)說(shuō)假話的,第三種是胡說(shuō)八道的(說(shuō)的話真假都有可能)。現(xiàn)在給你三種人的數(shù)量,你對(duì)于任何一個(gè)人可以問(wèn)三種問(wèn)題:
1.你是誰(shuí)
2.誰(shuí)在指定的房間里
3.公主在哪個(gè)房間
問(wèn)最少問(wèn)多少問(wèn)題找到公主,如果找不到輸出NO
題解:
我們可以分析出,三種問(wèn)題只有第三個(gè)有用,我們要考慮極端情況下如何找到公主,極端情況就是第二,三種人會(huì)統(tǒng)一說(shuō)一樣的錯(cuò)誤的答案,所以我們要找到公主必須保證說(shuō)真話的人>說(shuō)假話+胡說(shuō)八道的人,也就是a>b+c一定有解,最少問(wèn)問(wèn)題數(shù)量,極端情況下我們一開(kāi)始問(wèn)到的都是第二,三種人,也就是我們會(huì)得到b+c個(gè)錯(cuò)誤的房間答案,然后問(wèn)到的都是正確的人,當(dāng)一個(gè)房間的答案>b+c后,說(shuō)明這就是正確答案,因?yàn)閍>b+c,所以正確答案一定大于b+c,所以最少問(wèn)(b+c)+(b+c)+1
但是有個(gè)坑,如果a=1,b=0,c=0,此時(shí)一個(gè)問(wèn)題也不用問(wèn),因?yàn)閍=1這個(gè)人就是公主,就公主一個(gè)人還問(wèn)啥問(wèn)題,直接就找到了,腦筋急轉(zhuǎn)彎。。。
代碼:
#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; }總結(jié)
以上是生活随笔為你收集整理的H - Prince and Princess 计蒜客 - 42402的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 如何用手机指纹解锁电脑如何用电脑解手机锁
- 下一篇: K - Triangle 计蒜客 - 4