Prince and Princess
题目链接
麻婆王子与豆腐公主。。。
给定三个数 a ,b,c
a个人说真话
b个人说假话
c个人可能说真话可能说假话
可以询问的三个问题
1.你是谁?
2.某个房子里住着谁?
3.公主在那个房间?
问 询问多少次 可以确定公主在哪个房间。
题解:只考虑问第三个问题,统计每个人的回答,b和c都说假话,只要有b+c+1个人说真话,就会有一个答案被统计的次数超过说假话的人。
注意特判一下 只有一个公主的情况。
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main() {
int a,b,c;
cin>>a>>b>>c;
if (a == 1 && b == 0 && c == 0) {
cout << "YES" << endl << 0 << endl;
return 0;
}
if(a>b+c) {
printf("YES\n%d\n",(b+c)*2+1);
} else {
printf("NO\n");
}
return 0;
}