博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ACM 竞赛高校联盟 练习赛 第六场 卡牌游戏(博弈论+思维)
阅读量:5253 次
发布时间:2019-06-14

本文共 855 字,大约阅读时间需要 2 分钟。

链接:https://nanti.jisuanke.com/t/16877

分析:考虑单独的一堆,数量为s。首先每个人都有把握可以取到离自己最近的一半,如果对手的最优策略是取属于我方的那一半,那么可以跟着对方取,让对手不能得逞。如果s为偶数,那么没得抢;如果s为奇数,先手可以抢到中间的那一张,因此,最优策略是抢大小为奇数且中间的牌最大的那一堆,然后后手抢第二大的,一次类推。。排个序按顺序取即可。

1 #include
2 #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"<

 

转载于:https://www.cnblogs.com/7391-KID/p/7478799.html

你可能感兴趣的文章
[Kaggle] Sentiment Analysis on Movie Reviews
查看>>
价值观
查看>>
mongodb命令----批量更改文档字段名
查看>>
CentOS 简单命令
查看>>
使用&nbsp;SharedPreferences 分类: Andro...
查看>>
TLA+(待续...)
查看>>
题解: [GXOI/GZOI2019]与或和
查看>>
MacOS copy图标shell脚本
查看>>
国外常见互联网盈利创新模式
查看>>
Oracle-05
查看>>
linux grep 搜索查找
查看>>
Not enough free disk space on disk '/boot'(转载)
查看>>
android 签名
查看>>
vue项目中使用百度统计
查看>>
android:scaleType属性
查看>>
SuperEPC
查看>>
mysql-5.7 innodb 的并行任务调度详解
查看>>
shell脚本
查看>>
Upload Image to .NET Core 2.1 API
查看>>
Js时间处理
查看>>