HDU 1404  Digital Deletions

一串由0~9组成的数字,可以进行两个操作:1、把其中一个数变为比它小的数;2、把其中一个数字0及其右边的所以数字删除。

两人轮流进行操作,最后把所以数字删除的人获胜,问前者胜还是后者胜。

字符串长度为1-6,前者胜输出Yes,否则输出No.

 #include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
#include<cmath>
#include<queue>
#include<map>
using namespace std;
#define MOD 1000000007
const int INF=0x3f3f3f3f;
const double eps=1e-;
typedef long long ll;
#define cl(a) memset(a,0,sizeof(a))
#define ts printf("*****\n");
const int MAXN=;
int m,tt;
bool sg[MAXN];
void fun(int n)
{
int i,j,k;
char ss[];
sprintf(ss,"%d",n);
int len=strlen(ss);
for(i=;i<len;i++) //在每位上添加数字
{
int temp=n;
char tss[];
strcpy(tss,ss);
while(tss[i]<'')
{
tss[i]+=;
sscanf(tss,"%d",&temp);
sg[temp]=;
}
}
if(len!=)
{
int temp=n;
int base=;
for(i=len;i<;i++)
{
temp*=;
for(j=;j<base;j++)
{
sg[temp+j]=;
}
base*=;
}
}
}
void init()
{
sg[]=;
for(int i=;i<MAXN;i++)
{
if(!sg[i])
{
fun(i);
}
}
}
int main()
{
int i,j,k,ca=;
#ifndef ONLINE_JUDGE
freopen("1.in","r",stdin);
#endif
cl(sg);
init();
char s[];
while(scanf("%s",s)!=EOF)
{
int n=;
if(s[]=='')
{
printf("Yes\n");
continue;
}
int len=strlen(s);
for(i=;i<len;i++)
{
n*=;
n+=s[i]-'';
}
if(sg[n]) printf("Yes\n");
else printf("No\n");
}
}

最新文章

  1. oracle存储过程
  2. [转]Java中Map的用法详解
  3. Linux之保留yum安装软件后的RPM包
  4. find_in_set()
  5. Python渗透测试工具合集
  6. MVC 介绍
  7. openVPN使用
  8. PHP学习心得(四)——基本语法
  9. 《Think in Java》读书笔记一:对象
  10. ajax的封装
  11. SQL SERVER 数据库级联删除
  12. django restful 1-在线Python编辑器
  13. [LeetCode] Dota2 Senate 刀塔二参议院
  14. springMVC源码分析--RequestParamMethodArgumentResolver参数解析器(三)
  15. Android 有关于* daemon not running.starting it now on port 5037 *ADB
  16. Sql 按照指定天数时间段查询
  17. Python 第四阶段 学习记录之----多线程
  18. day38-常见第三方模块
  19. 微信公众号H5支付步骤
  20. 作用域中LHS查询和RHS查询

热门文章

  1. 【GoLang】GoLang struct 使用
  2. 【云计算】Cloudify-基于TOSCA规范的开源云应用编排系统
  3. 数据库视图 (View)和EntityFramework Code First结合使用
  4. android studio插件提升工作效率
  5. apache官网怎样下载apache HTTP Server服务器
  6. Divide and conquer:Subset(POJ 3977)
  7. 打开VS2012的创建单元测试功能
  8. 【leetcode】atoi (hard) ★
  9. 【xml】转义字符 &amp;lt;等符号出现的原因
  10. ssh自动登陆