【AGC002E】Candy Piles 博弈论
来源:互联网 发布:淘宝手办现货可信? 编辑:程序博客网 时间:2024/06/05 00:49
题目大意
有
两个人轮流决策,决策分为两种:
1.选择糖果数最多的一堆糖果,并把这堆糖全吃了。
2.在每堆非空的糖果堆里拿一颗糖吃掉。
吃掉最后一颗糖的人输。问你先手必胜还是先手必败。
题解
又是一个打表结论题。
先把
设
如果都删完了,就先手必胜。
打个表可以发现,一条斜线上的结果相同。
这个结论还是挺好证的。这里就不证了。
直接找到
时间复杂度:
代码
#include<cstdio>#include<cstring>#include<algorithm>#include<cstdlib>#include<ctime>#include<utility>using namespace std;typedef long long ll;typedef unsigned long long ull;typedef pair<int,int> pii;int a[100010];int main(){#ifdef DEBUG freopen("b.in","r",stdin); freopen("b.out","w",stdout);#endif int n; int i; scanf("%d",&n); for(i=1;i<=n;i++) scanf("%d",&a[i]); sort(a+1,a+n+1,greater<int>()); int ans; a[0]=a[1]; for(i=0;i<=n;i++) if(a[i+1]<=i) { ans=(a[i]-i)&1; int j=i+1; while(j<=n&&a[j]==i) j++; if((j-i+1)&1) ans=1; break; } if(ans) printf("First\n"); else printf("Second\n"); return 0;}
阅读全文
0 0
- [AGC002E]Candy Piles-博弈论
- 【AGC002E】Candy Piles 博弈论
- [agc002e]Candy Piles
- [博弈]Atcoder AGC002 E. Candy Piles
- Gym 100814L Candy Jars 博弈论
- Candy
- Candy
- Candy
- Candy
- Candy
- Candy
- Candy
- Candy
- Candy
- Candy
- Candy
- Candy
- Candy
- oj刷题-2845: 编程题AB-卡片游戏
- Android属性动画 ValueAnimator
- vue生命周期
- 如何快速通过学校知网查重
- 第四次实验
- 【AGC002E】Candy Piles 博弈论
- 在windows下安装运行disconf
- 实验3.4 栈与队列——链队列
- python中报错:SyntaxError: invalid character in identifier
- Windows平台上Maven私服的搭建
- linux下 指定区域截图
- 微信小程序顶部下拉菜单栏
- 第七章 使用Akka构建高并发程序
- 出于数据保护的结构体指针强制转换和字段截断