• 洛谷1199 简单博弈 贪心


    #洛谷 1199 博弈论 贪心

    看起来挺吓人的,,,然而实际上并没有太大的难度。。
    开始想这道题的时候受了之前博弈问题的影响,一直在考虑计算机也能够采用必胜策略,然后就有些混乱,后来仔细考虑,根据计算机的选择策略,一定不会让玩家取到最大值,那么玩家一定可以取到每个武将的次大值,那么对于枚举每个武将,取出他们的次大值,取max即为答案。

    xs;

    #include <cstdio>
    #include <cstring>
    #include <algorithm>
    
    const int maxn = 500 + 10;
    int n;
    int first_max;
    int second_max;
    int x;
    int ans = 0;
    int a[maxn][maxn];
    
    int main () {
        scanf("%d", &n);
        for (int i = 1; i < n; i++) {
            for (int j = 1; j <= n - i; j++) {
                scanf("%d", &a[i][i + j]);
                a[i + j][i] = a[i][i + j];
            }
        }
        //for (int i = 1; i <= n; i++) {
        //    for (int j = 1; j <= n; j++) {
        //        printf("%d ", a[i][j]);
        //    }
        //    printf("
    ");
        //}
        for (int i = 1; i <= n; i++) {
            first_max = 0;
            second_max = 0; 
            for (int j = 1; j <= n; j++) {
                if (i == j) continue;
                if (a[i][j] > first_max) {
                    second_max = first_max;
                    first_max = a[i][j];
                } else if (a[i][j] <= first_max && a[i][j] > second_max) {
                    second_max = a[i][j];
                }
            }
            ans = std :: max(ans, second_max);
        }
        printf("1
    ");
        printf("%d", ans);
        return 0;
    }
    
    
  • 相关阅读:
    聊聊ASP.NET Core默认提供的这个跨平台的服务器——KestrelServer[转]
    java的war包和jar包的区别
    shell编程中的表达式(-d, -f, -L 等)
    nginx 403 forbidden
    docker删除镜像
    TCP的拥塞控制
    文件从暂存区撤销
    charles修改返回结果的4种方法
    LED 正负极区分
    病毒传播模拟游戏制作日志(三)
  • 原文地址:https://www.cnblogs.com/CtsNevermore/p/6012391.html
Copyright © 2020-2023  润新知