B. Universal Solution

题意:玩猜拳游戏,rsp,问如何设定一组字符串,可以让这组字符串在循环数组中胜利的次数最多。

思路:贪心,统计出现次数最多的字符,能赢过他的就是ans。

总结:为什么这种逻辑一定正确????????????????????????????????????

inline void solve() {
string str;
cin >> str;

int n = (int)str.size();

int r = 0, s = 0, p = 0;
for (int i = 0; i < n; ++i) {
r += str[i] == 'R';
s += str[i] == 'S';
p += str[i] == 'P';
}
char ans;
if (r >= s && r >= p) {
ans = 'P';
}
else if (s >= r && s >= p) {
ans = 'R';
}
else {
ans = 'S';
}

for (int i = 0; i < n; ++i) {
cout << ans;
}
cout << '\n';
}

posted @ 2026-01-06 10:55  _Yxc  阅读(15)  评论(0)    收藏  举报