hdu 1404/zoj 2725 Digital Deletions 博弈论
暴力打表!!
代码如下:
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cmath>
#include<cstring>
#define M 1000000
#define ll __int64
using namespace std;
int sg[];
int get_len(int n)
{
if(n>=) return ;
else if(n>=) return ;
else if(n>=) return ;
else if(n>=) return ;
else if(n>=) return ;
else return ;
}
void solve(int n)
{
int len=get_len(n);
for(int i=len;i>;i--){
int m=n,b=;
for(int j=;j<i;j++) b*=;
int t=m%(*b)/b;
for(int j=t;j<;j++){
m+=b;
sg[m]=;
}
}
if(len<){
int m=n,b=;
for(int i=len;i<;i++){
m*=;
for(int j=;j<b;j++)
sg[m+j]=;
b*=;
}
}
}
void init()
{
memset(sg,,sizeof(sg));
sg[]=;
for(int i=;i<=;i++)
if(!sg[i]) solve(i);
}
int main()
{
int i,j,k,m,n,ca=;
init();
char a[];
while(scanf("%s",a)!=EOF){
bool f=;
if(a[]!=''){
int t=atoi(a);
f=sg[t];
}
puts(f?"Yes":"No");
}
return ;
}
hdu 1404/zoj 2725 Digital Deletions 博弈论的更多相关文章
- Digital Deletions HDU - 1404
Digital deletions is a two-player game. The rule of the game is as following. Begin by writing down ...
- hdu 1404 找sg ***
HDU 1404 Digital Deletions 一串由0~9组成的数字,可以进行两个操作:1.把其中一个数变为比它小的数:2.把其中一个数字0及其右边的所以数字删除. 两人轮流进行操作,最后把 ...
- 【Mark】博弈类题目小结(HDU,POJ,ZOJ)
转载请注明出处,谢谢http://blog.csdn.net/ACM_cxlove?viewmode=contents by---cxlove 首先当然要献上一些非常好的学习资料: 基础博弈的小 ...
- HDU - 2222,HDU - 2896,HDU - 3065,ZOJ - 3430 AC自动机求文本串和模式串信息(模板题)
最近正在学AC自动机,按照惯例需要刷一套kuangbin的AC自动机专题巩固 在网上看过很多模板,感觉kuangbin大神的模板最为简洁,于是就选择了用kuangbin大神的模板. AC自动机其实就是 ...
- hdoj 1404 Digital Deletions(博弈论)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1404 一看就是博弈论的题目,但并没有什么思路,看了题解,才明白 就是求六位数的SG函数,暴力一遍,打表 ...
- Hdu 1404 Digital Deletions
Problem地址:http://acm.hdu.edu.cn/showproblem.php?pid=1404 刚开始想采取找规律的方法解题,可以没有发现规律.无奈,只好采用求PN点的方法. 我们假 ...
- HDU 1404 (博弈) Digital Deletions
首先如果第一个数字是0的话,那么先手必胜. 对于一个已知的先手必败状态,凡是能转移到先手必败的状态一定是必胜状态. 比如1是必败状态,那么2~9可以转移到1,所以是必胜状态. 10,10*,10**, ...
- HDU 1404 Digital Deletions (暴力博弈)
题意:给定一个数字串,最长是6,然后有两种操作. 第一种是,把该串中的一个数字换成一个比该数字小的数,比如 5 可以换成 0,1,2,3,4. e.g. 12345 --> 12341 第二 ...
- 【转载】图论 500题——主要为hdu/poj/zoj
转自——http://blog.csdn.net/qwe20060514/article/details/8112550 =============================以下是最小生成树+并 ...
随机推荐
- Eclipse基金会
昨天Eclipse基金会庆祝其成立十周年.2004年2月的新闻稿宣布该非盈利组织的正式成立,由包括开发者.消费者和插件提供商在内的各独立团体组成的董事会,为Eclipse的长期发展负责. 基金会成立时 ...
- mysql查看日志
工具:mysqlbinlog, 在bin目录中日志在data目录中 日志过滤:mysqlbinlog mysql-bin.000011 | less mysqlbinlog mysql-bin.000 ...
- iOS学习之Object-C语言属性和点语法
一.属性 1.属性的声明:在.h文件中使用@property声明属性. @property NSString *name; 2.属性的作用是生成setter以 ...
- win10里安装.net3.5
在CMD窗口里面输入这样一段,来安装Microsoft.MET Framework 3.5 Dism /online /enable-feature /featurename:NetFX3 /All ...
- iOS8 超简单的设置圆角按钮 ImageView等UIView
button.layer.cornerRadius = // 这个值根据你想要的效果可以更改 button.clipsToBounds = true 这种方法不止可以设置按钮,UIView应该都可以设 ...
- maven学习手记 - 2
学习目标 maven 的插件和目标: maven 的生命周期和阶段. 前言 在手记1中看到执行 mvn clean package 时,maven 自动执行了compile 和 test 操作. ...
- SharePoint 2010 RBS 安装和配置遇到的一个问题
在按照微软官方的文档按照配置的时候遇到下面问题: <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event ...
- UISegmentedControl swift
// // ViewController.swift // UILabelTest // // Created by mac on 15/6/23. // Copyright (c) 2015年 fa ...
- 时间日期设置--ctime头文件
简述:ctime头文件中的4中与时间相关的数据类型 <ctime>头文件中定义了4种与时间有关的数据类型,如下:clock_tsize_ttime_tstruct tm clock_tCl ...
- oracle查看最大长度
select s.ids from Student s where length(s.ids)=311 select max(length(s.ids)) from Student s