【luogu 1199】NOIP普及组 2010 三国游戏 {贪心+博弈论}

题目

https://www.luogu.org/problemnew/show/P1199


结题思路

这道题应该不是一道正统的博弈论问题,在题意下,小涵是必胜的,所以我们需求出次最大默契值即可。


代码

#include
#include
using namespace std; 
int n,a[5001][5001],maxx,maa,ans; 
int main()
{
    scanf("%d",&n); 
    for (int i=1;i<=n;i++)
    {
        maxx=maa=0; //注意清零
        for (int j=i+1;j<=n;j++)
         scanf("%d",&a[i][j]),a[j][i]=a[i][j]; 
        for (int j=1;j<=n;j++)
         {
            if (a[i][j]>maxx) { maa=maxx; maxx=a[i][j];} else maa=max(a[i][j],maa); 
            ans=max(ans,maa);
         }
    }
    printf("1\n%d",ans); 
}

你可能感兴趣的:(博弈论(NIM博弈/SG函数),贪心算法)