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  阅读(4)  评论(0)    收藏  举报