#3790. 石头剪刀布(C++二级)
石头剪刀布(C++二级)
✊✌🖐 石头剪刀布(周期对战)
🧾 题目描述
石头剪刀布是常见的猜拳游戏,规则如下:
- ✊ 石头胜 ✌ 剪刀
- ✌ 剪刀胜 🖐 布
- 🖐 布胜 ✊ 石头
- 相同出拳 ➡️ 平局
小A 和 小B 正在玩石头剪刀布,他们的出拳方式具有周期性规律,例如:
石头-布-石头-剪刀(0 5 0 2)不断循环...
现在已知他们比了 N
轮,请你判断最终谁赢的次数更多。
⏱ 限制条件
- 时间限制:1000 ms
- 内存限制:65536 KB
📥 输入格式
输入共三行:
- 第一行:三个整数
N
NA
NB
N
:对战总轮数(0 < N < 100
)NA
:小A的出拳周期长度NB
:小B的出拳周期长度
- 第二行:
NA
个整数,小A的出拳模式(取值为 0=石头,2=剪刀,5=布) - 第三行:
NB
个整数,小B的出拳模式(同样取值为 0/2/5)
📤 输出格式
- 如果小A赢的次数多,输出:
A
- 如果小B赢的次数多,输出:
B
- 如果平局,输出:
draw
🧪 样例
✅ 输入数据 1
10 3 4
0 2 5
0 5 0 2
✅ 输出数据 1
A
💡 提示与解析
- 比赛进行
N
轮; - 第
i
轮中:- 小A 的出拳为
a[i % NA]
; - 小B 的出拳为
b[i % NB]
;
- 小A 的出拳为
- 用简单的胜负规则模拟比赛即可。
✅ 胜负规则判定表(可建 map 或写成 if 逻辑):
A \ B | 0 (石头) | 2 (剪刀) | 5 (布) |
---|---|---|---|
0 | draw | A | B |
2 | B | draw | A |
5 | A | B | draw |