题解 | 田忌赛马

田忌赛马

https://www.nowcoder.com/practice/49d799f65a0749588e9cd7e6135a4a9a

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int main() {
    int v1, v2, v3;
    cin >> v1 >> v2 >> v3;
    vector<int> king = {v1, v2, v3};
    
    int a1, a2, a3;
    cin >> a1 >> a2 >> a3;
    vector<int> tian = {a1, a2, a3};
    
    // 生成田忌马匹的所有可能排列
    sort(tian.begin(), tian.end());
    bool canWin = false;
    do {
        int wins = 0;
        for (int i = 0; i < 3; ++i) {
            if (tian[i] > king[i]) {
                wins++;
            }
        }
        if (wins >= 2) {
            canWin = true;
            break;
        }
    } while (next_permutation(tian.begin(), tian.end()));
    
    cout << (canWin ? "Yes" : "No") << endl;
    return 0;
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
08-20 19:41
那一天的Java_J...:简历完全流水账,学生思维很严重,还有很大的优化空间,可以多看看牛客的简历。
点赞 评论 收藏
分享
评论
11
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务