zoukankan      html  css  js  c++  java
  • P1199三国游戏

    众所周知,三国题材的游戏很多,小涵遇到了其中之一

    传送

    这个题显然用贪心做,但是怎么贪心?

    首先我们只知道计算机的策略,但我们不知道小涵的策略。所以我们要想小涵是怎么挑的。

    计算机的策略是拆掉你每次选择时最大的那一对,所以小涵当前能够得到的最大默契值就是小涵所选武将那一行的次大值。为了得到这个次大值,下一次小涵就会选与之配对的那个武将。所以小涵的策略就是1.选出武将(乱搞)2.下一把去拿配成次大值的武将

    所有武将都选完后,小涵手里的最大默契值就是小涵手里武将所对应的次大值最大的那个。为了得到最大的默契值,我们就让小涵选出每一行次大值最大的一行所对应的武将。因为计算机是不断的拆,所以计算机不可能拿到最大默契值,所以这样小涵稳赢。

    综上,我们只需要比较每个次大值,选出最大的即可(别忘了小涵赢了要输出1)

    代码

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<algorithm>
    #include<cmath>
    using namespace std;
    int n,m[550][550],k1,k2[550];
    bool ch[550];
    int main()
    {   int all=0;
        scanf("%d",&n);
        int k=0;
        for(int i=1;i<n;i++)
        {
         for(int j=i+1;j<=n;j++)
          {scanf("%d",&m[i][j]);
           m[j][i]=m[i][j];
          }
        }
        for(int i=1;i<=n;i++)
         sort(m[i]+1,m[i]+1+n);
        for(int i=1;i<=n;i++)
        {k1=max(k1,m[i][n-1]);
        }
        printf("1
    %d",k1);
    }
  • 相关阅读:
    PHP脚本如何正确启用sg11安全组件?
    android修改系统时系统黑屏时不进入休眠状态
    计算机自考视频汇总【福利资料】[转]
    解决MySql报错:1130
    “领导想提拔你,看的从不是努力
    interTbale ___AlterTable
    MySQL数据库管理系统概述
    《分布式任务调度平台XXL-JOB》
    mysql 在线文档
    Oracle19c 数据库在线文档
  • 原文地址:https://www.cnblogs.com/lcez56jsy/p/11030122.html
Copyright © 2011-2022 走看看