链接:https://nanti.jisuanke.com/t/16877
分析:考虑单独的一堆,数量为s。首先每个人都有把握可以取到离自己最近的一半,如果对手的最优策略是取属于我方的那一半,那么可以跟着对方取,让对手不能得逞。如果s为偶数,那么没得抢;如果s为奇数,先手可以抢到中间的那一张,因此,最优策略是抢大小为奇数且中间的牌最大的那一堆,然后后手抢第二大的,一次类推。。排个序按顺序取即可。
1 #include2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 vector card[105]; 8 int n; 9 bool Cmp(vector a,vector b){10 if(a.size()%2==0)return false;11 if(b.size()%2==0)return true;12 return a[a.size()/2]>b[b.size()/2];13 }14 int main(){15 // freopen("e:\\in.txt","r",stdin);16 int s,sum=0,hmm=0,t;17 scanf("%d",&n);18 for(int i=0;i sum)cout<<"win"<