首页 > 代码库 > 三国游戏——博弈论——洛谷1199

三国游戏——博弈论——洛谷1199

小涵一定是赢的,为什么呢,不说了,反正我们只需要找出每个武将与其他武将配对中第二大的,然后求出这些第二大的最大值。

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
inline int read(){
    int t=1,num=0;char c=getchar();
    while(c>9||c<0){if(c==-)t=-1;c=getchar();}
    while(c>=0&&c<=9){num=num*10+c-0;c=getchar();}
    return num*t;
}
int a[501][501],n,f,s,ans=0;
int main()
{
    n=read();
    for(int i=1;i<n;i++)
        for(int j=i+1;j<=n;j++)
            a[i][j]=a[j][i]=read();
    for(int i=1;i<=n;i++){
        f=0;s=0;
        for(int j=1;j<=n;j++){
            if(i==j)continue;
            if(a[i][j]>f){
                s=f;f=a[i][j];
            }
            else if(a[i][j]>s)s=a[i][j];
        }
        ans=max(ans,s);
    }
    printf("1\n%d\n",ans);
    return 0;
}

本文由Yzyet编写,网址为www.cnblogs.com/Yzyet。非Yzyet同意,禁止转载,侵权者必究。

三国游戏——博弈论——洛谷1199