zoukankan      html  css  js  c++  java
  • P1199三国游戏(博弈论)

    一堆武将,两两之间有个默契值,你先选然后机器选和你匹配的默契值最大的武将,意思就是不让你选最大的,这个时候一顿分析,(你拿了默契值最大的一个,另一个肯定被机器拿了,所以谁都拿不到最大的,机器拿完又是你选的了,这时你就可以选和你手上的这个匹配的默契值最大的),所以人是必胜的,最大的肯定是第二大的之中最大的

    意思就是28,23,28,16,32,26(每一行的第二大)之中最大的,直接做出这样一个表,然后找答案就好了

     1 #include<climits>
     2 #include<iostream>
     3 using namespace std;
     4 const int N=550;
     5 int mp[N][N];
     6 int n;
     7 const int inf=INT_MAX;
     8 int main()
     9 {
    10     cin>>n;
    11     for(int i=1;i<=n-1;i++)
    12     {
    13         for(int j=i+1;j<=n;j++)
    14         {
    15             cin>>mp[i][j];
    16             mp[j][i]=mp[i][j];
    17         }
    18     }
    19     for(int i=1;i<=n;i++)
    20     {
    21         mp[i][i]=-inf;
    22     }//以上都是初始化
    23     int ans=-inf;
    24     for(int i=1;i<=n;i++)//循环每一行
    25     {
    26         int first=-inf,second=-inf;//从每一行找出第一大的,和第二大的
    27         for(int j=1;j<=n;j++)
    28         {
    29             if(mp[i][j]>first)
    30             {
    31                 second=first;
    32                 first=mp[i][j];
    33             }
    34             else if(mp[i][j]>second)
    35             {
    36                 second=mp[i][j];
    37             }
    38         }
    39         ans=max(ans,second);//更新ans
    40     }
    41     cout<<1<<endl;//因为人必胜,输出1
    42     cout<<ans;
    43     return 0;
    44 }
  • 相关阅读:
    我罗斯方块最终篇
    我罗斯汇报作业一
    11组-Alpha冲刺-2/6
    11组-Alpha冲刺-1/6
    结对编程作业
    11组 团队展示
    第一次个人编程作业
    第一次博客作业
    寒假作业3
    寒假作业2
  • 原文地址:https://www.cnblogs.com/greenofyu/p/12215642.html
Copyright © 2011-2022 走看看