【正经题解】三国游戏
2024-02-20 16:52:45
发布于:浙江
41阅读
0回复
0点赞
对于一个小涵拿的i,小涵永远拿不到和i默契最大的j,因为选了i之后计算机一定会选掉j,既然拿不到最大的,小涵可以拿次大的,同理,对于计算机拿到的一个i,计算机也拿不到与i默契最大的j,因为计算机一定是在小涵拿了j之后拿的i,所以计算的最好的牌也只是次大,这样,小涵只需要拿所有次大中最大的就能保证赢。
#include<iostream>
#include<algorithm>
#define f(i,l,r) for(i=(l);i<=(r);i++)
using namespace std;
const int MAXN=505;
int a[MAXN][MAXN],n;
int main()
{
ios::sync_with_stdio(false);
int i,j,max1,max2,ans=0;
cin>>n;
f(i,1,n){
max1=max2=0;
f(j,i+1,n){
cin>>a[i][j];
a[j][i]=a[i][j];
}
f(j,1,n){
if(a[i][j]>max1){
max2=max1;
max1=a[i][j];
}
else if(a[i][j]>max2){
max2=a[i][j];
}
}
ans=max(ans,max2);
}
cout<<1<<endl<<ans<<endl;
return 0;
}
这里空空如也
有帮助,赞一个