2940: [Poi2000]条纹(Multi_SG)
2940: [Poi2000]条纹
Time Limit: 1 Sec Memory Limit: 128 MB
Submit: 114 Solved: 72
[Submit][Status][Discuss]
Description
Input
Output
Sample Input
3
1
5
6
Sample Output
1
2
code
#include<cstdio>
#include<cstring>
#include<set> using namespace std;
int c,z,n,p,T;
int sg[]; int get_SG(int x) {
if (sg[x]!=-) return sg[x];
set<int>s;
for (int i=; i<=(x-c); ++i) //枚举左边的长度
s.insert(get_SG(i)^get_SG(x-i-c));
for (int i=; i<=(x-z); ++i)
s.insert(get_SG(i)^get_SG(x-i-z));
for (int i=; i<=(x-n); ++i)
s.insert(get_SG(i)^get_SG(x-i-n));
for (int j=; ; ++j)
if (!s.count(j)) {sg[x]=j;break;}
return sg[x];
}
int main () {
memset(sg,-,sizeof(sg));
sg[] = ;
scanf("%d%d%d%d",&c,&z,&n,&T);
while (T--) {
scanf("%d",&p);
if (get_SG(p)==) puts("");
else puts("");
}
return ;
}
开始理解错题目了。。。TLE
#include<cstdio>
#include<cstring>
#include<set> using namespace std;
int c,z,n,p,T;
int sg[][]; int get_SG(int l,int r) {
if (l > r) return ;
if (sg[l][r]!=-) return sg[l][r];
set<int>s;
for (int i=l; i<=(r-c+); ++i)
s.insert(get_SG(l,i-)^get_SG(i+c,r));
for (int i=l; i<=(r-z+); ++i)
s.insert(get_SG(l,i-)^get_SG(i+z,r));
for (int i=l; i<=(r-n+); ++i)
s.insert(get_SG(l,i-)^get_SG(i+n,r));
for (int j=; ; ++j)
if (!s.count(j)) {sg[l][r]=j;break;}
return sg[l][r];
}
int main () {
memset(sg,-,sizeof(sg));
sg[][] = ;
scanf("%d%d%d%d",&c,&z,&n,&T);
while (T--) {
scanf("%d",&p);
if (get_SG(,p)==) puts("");
else puts("");
}
return ;
}
2940: [Poi2000]条纹(Multi_SG)的更多相关文章
- BZOJ 2940: [Poi2000]条纹(Multi-Nim)
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 110 Solved: 70[Submit][Status][Discuss] Description ...
- bzoj2940: [Poi2000]条纹
2940: [Poi2000]条纹 条纹游戏是一个双人的游戏.所需要的物品有一个棋盘以及三种颜色的长方形条纹,这三种颜色分别是红色.绿色和蓝色.所有的红色条纹的尺寸是c*1,所有的绿色条纹的尺寸是z* ...
- bzoj千题计划260:bzoj2940: [Poi2000]条纹
http://www.lydsy.com/JudgeOnline/problem.php?id=2940 SG 博弈入门推荐张一飞的<由感性认识到理性认识 ——透析一类搏弈游戏的解答过程> ...
- bzoj AC倒序
Search GO 说明:输入题号直接进入相应题目,如需搜索含数字的题目,请在关键词前加单引号 Problem ID Title Source AC Submit Y 1000 A+B Problem ...
- BZOJ练习记
决定从头到尾干一波BZOJ!可能会写没几题就停下吧,但还是想学学新姿势啦. 1001. [BeiJing2006]狼抓兔子 即求 $(1, 1)$ 到 $(n, m)$ 的最小割.跑 dinic 即可 ...
- 【BZOJ】【2940】【POI2000】条纹
博弈论 一开始想成S-Nim了……后来发现不一样= =石子是一定得取的,但是这个铺条纹就像Crosses and Crosses一样,是可以铺到中间,左右留下空隙但是对手无处可放的…… 所以就是两道题 ...
- BZOJ 2946: [Poi2000]公共串
2946: [Poi2000]公共串 Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 787 Solved: 342[Submit][Status][D ...
- 用css实现条纹背景
我先额外的说一下怎么用CSS绘制三角形: 绘制三角形是把边框加粗,将元素的宽高都设为0,让其余的边框颜色透明,下面我们来看实现的代码: 先把边框的颜色设置成不同颜色: #div{ border-col ...
- iOS开发UI篇—Quartz2D使用(信纸条纹)
iOS开发UI篇—Quartz2D使用(信纸条纹) 一.前导程序 新建一个项目,在主控制器文件中实现以下几行代码,就能轻松的完成图片在视图中的平铺. #import "YYViewContr ...
随机推荐
- UITableViewCellStyle 四种样式
四种样式如下:
- 《大话设计模式》num01---简单工厂模式
2017年12月10日 20:13:57 独行侠的守望 阅读数:128更多个人分类: 设计模式编辑版权声明:本文为博主原创文章,转载请注明文章链接. https://blog.csdn.net/xia ...
- iOS - 毛玻璃动画效果
声明全局变量 #define kMainBoundsHeight ([UIScreen mainScreen].bounds).size.height //屏幕的高度 #define kMainBou ...
- 报错:Program "sh" not found in PATH
参考原文:http://vin-mail.blog.163.com/blog/static/37895280201211932919513/ 如果你按照我的方法 先配置了cygwin的环境变量,在打开 ...
- 【Quartus错误】Internal Error: Sub-system: AMERGE
错误内容:Internal Error: Sub-system: AMERGE, File: /quartus/atm/amerge/amerge_kpt_op.cpp, Line: 220 解决方案 ...
- FreeBSD 安裝 wget
cd /usr/ports/ftp/wgetmake install clean pkg_add -r wget就可以把wget安装上去了
- 服务器 PyTorch 报错 重装 PyTorch
两个代码,pix2pix + CycleGan , wgan-gp 都是 pytorch 写的, 在服务器端运行,均存在下列问题,故判定是 pytorch 的安装问题. Traceback (mos ...
- 实战:ADFS3.0单点登录系列-集成SharePoint
这是本系列第四篇了,终于轮到SharePoint上场了,但是本文不会过多讲解SharePoint安装等话题,而是直入主题,讲解如何进行配置,让其于ADFS配合完成SSO的工作. 注意:本文使用的Sha ...
- ubuntu常见错误
ubuntu常见错误--Could not get lock /var/lib/dpkg/lock解决 ubuntu常见错误--Could not get lock /var/lib/dpkg/loc ...
- 使用CreateProcess函数运行其他程序
为了便于控制通过脚本运行的程序,可以使用win32process模块中的CreateProcess()函数创建一个运行相应程序的进程.其函数原型如下.CreateProcess(appName, co ...