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 ...
随机推荐
- sonarque下载和安装使用
参考地址: https://www.cnblogs.com/qiumingcheng/p/7253917.html https://www.cnblogs.com/cjsblog/p/10735800 ...
- 跨平台移动开发phonegap/cordova 3.3全系列教程-简介
一. 跨平台實現架構: phonegap +asp.net+jquery mobile/jqmobi 二. PhoneGap简介 PhoneGap是一个开源的开发框架,用来构建跨平台的使用HT ...
- Hyper-V 2016 配置管理系列(部署篇)
Hyper主机前提准备以后,我们开始Hyper-V Cluster 群集配置 准备验证Cluster 群集 : 1)打开群集管理器,点击"validate Configuration&quo ...
- 将腾讯视频客户端缓冲的文件转换为一个MP4格式文件
打开腾讯视频windows客户端,播放要下载的视频,逐步快进使其缓冲完毕: 按照下图所示,复制缓存路径: 在cmd.exe的界面中输入“cd C:\854456b6d5a187ff3c0f553918 ...
- windows 10 开启安卓模拟器蓝屏
上周装了个vs2017 rc 本想试试 开发安卓怎么样,花了一晚上时间终于装好了. 第二天开夜神模拟器的时候蓝屏了.. 然后就逐个卸载VS2017的功能,先是卸了 自带的仿真程序,没用.然后全部卸载掉 ...
- 编译防火墙——C++的Pimpl惯用法解析
http://blog.csdn.net/lihao21/article/details/47610309 Pimpl(pointer to implementation, 指向实现的指针)是一种常用 ...
- NFS服务器实现文件共享
NFS服务器运行原理 实战配置NFS服务器 配置Samba服务器及实现文件共享 (一)NFS器服务端描述 NFS服务器: Network File System,网络文件系统使FreeBSD支持的一种 ...
- Linux系统运维常见面试简答题(36题)
1.请描述下linux 系统的开机启动过程开机加电BIOS自检———–>MBR引导———–>grub引导菜单———–>加载内核———–>启动init进程———–>读取in ...
- C/C++语言补缺 宏- extern "C"-C/C++互调
1. 宏中的# 宏中的#的功能是将其后面的宏参数进行字符串化操作(Stringizing operator),简单说就是在它引用的宏变量的左右各加上一个双引号. 如定义好#define STRING( ...
- python 数据库操作 SQLite、MySQL 摘录
转自: http://www.cnblogs.com/windlaughing/p/3157531.html 不管使用什么后台数据库,代码所遵循的过程都是一样的:连接 -> 创建游标 -> ...