题解:CF2278B Stakes and Shapes
题目大意
Alice 和 Bob 进行石头剪刀布游戏,一共进行
Alice 的出拳情况是已知的:她会出
要求无论 Alice 的出拳顺序如何,Bob 赢的局数都必须大于等于输的局数。求一种合法的 Bob 的出拳方案。
思路分析
既然 Bob 不知道 Alice 的出拳顺序,不妨试试全出一样的拳,得出答案就变成已知的了。
以 Bob 全程出布为例:
- 赢的局数:对方出石头的次数,即
x 。 - 输的局数:对方出剪刀的次数,即
y 。 - 平局次数:对方也出布的次数,即
z 。
因为平局次数不影响结果,观察
::::info[解的存在] 为什么一定存在解?
因为这三个条件
| 因此,只需要判断这三个条件哪个成立,然后输出对应长度的字符串即可。 |
|---|
代码
照上述过程模拟即可。
#include <bits/stdc++.h>
using namespace std;
int main() {
int t;
cin>>t;
while(t--) {
int x,y,z;
cin>>x>>y>>z;
if(x>=y) cout<<string(x+y+z,'P')<<'\n';
else if(y>=z) cout<<string(x+y+z,'R')<<'\n';
else cout<<string(x+y+z,'S')<<'\n';
}
}
~点个赞吧~