题目链接:https://cn.vjudge.net/contest/269933#problem/H

具体思路:首先,这是一个公平的比赛,并且是两个人参与,两个人都足够聪明,并且可以通过有限步结束比赛,所以可以通过sg函数解决,注意这个题的不同,假设当前的某一堆堆数是5,如果分成每堆为2,他的子状态是2 2 1,和之前做过的子状态不同,之前做的题拿掉的就相当于扔掉了,而这个题并没有。

 #include<iostream>
#include<string>
#include<iomanip>
#include<stack>
#include<queue>
#include<map>
#include<vector>
#include<cmath>
#include<stdio.h>
#include<cstring>
using namespace std;
# define ll long long
# define maxn +
# define inf 0x3f3f3f3f
int ans[maxn];
int vis[maxn];
int main()
{
ans[]=;
for(int i=; i<=; i++)
{
memset(vis,,sizeof(vis));
for(int j=; j<i; j++)
{
int temp=i/j;
if(temp%==)vis[ans[i%j]]=;//如果按照每一堆j个,如果有2堆,那么他们的异或是0,如果有一堆,他们的异或就是本身,所以这个地方可以化简一下,直接判断奇数还是偶数就可以了。
else vis[ans[i%j]^ans[j]]=;
}
for(int j=; j<=; j++)
{
if(vis[j]==)
{
ans[i]=j;
break;
}
}
}
int n;
int temp;
int t=;
scanf("%d",&n);
for(int i=; i<=n; i++)
{
scanf("%d",&temp);
t^=ans[temp];
}
if(t)printf("First\n");
else printf("Second\n");
return ;
}

最新文章

  1. 设计上如何避免EMC问题
  2. c中使用gets() 提示warning: this program uses gets(), which is unsafe.
  3. Eclipse安装FindBug
  4. 数据结构与算法(1)支线任务8——Find Median from Data Stream
  5. js 读取 cookie
  6. beanFactoory介绍
  7. PL/SQL Developer远程连接Oracle数据库
  8. Android5.1 - 通讯录建立群组
  9. angular2安装笔记
  10. 全文检索Lucene (2)
  11. [转]jenkins2 插件安装
  12. linux磁盘分区笔记
  13. Mac下搭建PHP服务器
  14. Ado.net怎么执行存储过程?
  15. Yii1使用Gii生成模块实现CURD
  16. 基于消逝时间量的共识机制(POET)
  17. Wpf Page间跳转传参数 And Window To Page
  18. docker启动容器报错:IPv4 forwarding is disabled. Networking will not work
  19. Spring Cloud(一):概述以及核心成员介绍
  20. ORA-12899: value too large for column

热门文章

  1. phpcms 发布时间 更新 时间
  2. [LeetCode] [LeetCode] Populating Next Right Pointers in Each Node II
  3. HDU4473_Exam
  4. list+map
  5. 【JavaScript】jsp表格页面记录
  6. (转)maven下载jar包速度慢(解决办法)
  7. Docker学习笔记一:如何在线安装
  8. THUSC2018滚粗记
  9. linux系统启动自动激活网卡的解决方法
  10. requests、BeautifulSoup、自动登陆示例