题目

巴什博奕(Bash Game)

巴什博奕(Bash Game):只有一堆n个物品,两个人轮流从这堆物品中取物,规

定每次至少取一个,最多取m个。最后取光者得胜。

显然,如果n=m+1,那么由于一次最多只能取m个,所以,无论先取者拿走多少个,

后取者都能够一次拿走剩余的物品,后者取胜。因此我们发现了如何取胜的法则:如果
n=(m+1)r+s,(r为任意自然数,s≤m),那么先取者要拿走s个物品,如果后取者拿走

k(≤m)个,那么先取者再拿走m+1-k个,结果剩下(m+1)(r-1)个,以后保持这样的

取法,那么先取者肯定获胜。总之,要保持给对手留下(m+1)的倍数,就能最后获胜。

    这个游戏还可以有一种变相的玩法:两个人轮流报数,每次至少报一个,最多报十个,谁能报到100者获胜。

例 一个n 个 每次取 m 个 最后取的赢 问先手胜负?if(n%(m+1)!=0) 胜 
#include <stdio.h>
#include <string.h>
#include <algorithm>
using namespace std; int main()
{
int t,n,m,i;
while(~scanf("%d%d",&n,&m))
{
if(n<=m)//n<=m先手必胜
{
for(i = n; i<=m; i++)
if(i==n)
printf("%d",i);
else
printf(" %d",i);
printf("\n");
continue;
}
if(n%(m+1))//必胜态
{
int flag = 0;
for(i = 1; i<=m; i++)
{
if((n-i)%(m+1)==0)//必须留下m+1的倍数
{
if(flag == 0)
printf("%d",i);
else
printf(" %d",i);
flag++;
}
}
printf("\n");
}
else
printf("none\n");
} return 0;
}

hdu 2149的更多相关文章

  1. HDU.2149 Public Sale (博弈论 巴什博弈)

    HDU.2149 Public Sale (博弈论 巴什博弈) 题意分析 巴什博奕裸题 博弈论快速入门 代码总览 #include <bits/stdc++.h> using namesp ...

  2. hdu 2149 (巴什博奕)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2149 Problem Description 虽然不想,但是现实总归是现实,Lele始终没有逃过退学的 ...

  3. HDU 2149 (巴什博奕) Public Sale

    没什么好说的,一道水题. #include <cstdio> int main() { int n, m; ) { if(n <= m) { for(int i = n; i < ...

  4. hdu 2149 Public Sale (博弈规律题)

    #include<stdio.h> int main() { int n,m; while(scanf("%d %d",&m,&n)!=EOF) { ) ...

  5. hdu 2149 Public Sale 简单博弈

    Problem Description 虽然不想,但是现实总归是现实,Lele始终没有逃过退学的命运,因为他没有拿到奖学金.现在等待他的,就是像FarmJohn一样的农田生涯.要种田得有田才行,Lel ...

  6. HDU 2149 巴什博奕

    点这里去做题 基础的巴什博奕,注意m<n的情况 #include<bits/stdc++.h> int main() { int n,m,r,i; while(scanf(" ...

  7. hdu 2149 Public Sale(bash)

    Public Sale Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  8. HDU 2149 Public Sale 拍卖(巴什博弈)

    思路:只要能给对方留下n+1,我就能胜,否则败. #include <iostream> #include <cstdio> using namespace std; int ...

  9. 题解报告:hdu 2149 Public Sale(巴什博弈)

    题目链接:acm.hdu.edu.cn/showproblem.php?pid=2149 Problem Description 虽然不想,但是现实总归是现实,Lele始终没有逃过退学的命运,因为他没 ...

随机推荐

  1. C++ 0x 使用condition_variable 与 Mutex 同步两个线程

    Mutex : 锁   同一时间只允许一个线程访问其代码内容 拟人 : 就是一把锁而已,可以lock unlock, 谁都可以拿到锁,打开门进屋,但进去后,就会把门锁上(lock) 别人想进就得等他出 ...

  2. VCL编写笔记整理

    unit hzqEdit1; interface uses  SysUtils, Classes, Controls, StdCtrls; type  TEditDataType = (dtpStri ...

  3. 重学Java

    Java web 的课程告一段落了 现在我觉得我应该重新学习一下 Java基础  先分享下昨天学习递归后写的两个短短的代码 1.求5的阶乘 package test; public class fiv ...

  4. WEB性能测试工具

    做Web开发,难免要对自己开发的页面进行性能检测,自己写工具检测,工作量太大.网上有几款比较成熟的检测工具,以下就介绍一下,与大家分享. 互联网现有工具 基于网页分析工具: 1.       阿里测 ...

  5. SQL 存储过程 超市小票打印

    create database chaoshils--创建一个数据库 go use chaoshils--使用这个数据库 go create table gongying--创建一个供应商的表格 ( ...

  6. oracle ITL(事务槽)的理解

    一.ITL描述: ITL(Interested Transaction List)是Oracle数 据块内部的一个组成部分,位于数据块头(block header),itl由xid,uba,flag, ...

  7. linux 配置Tomcat开机启动

    一台安装有tomcat的linux服务器 方法/步骤   1 请自行下载安装配置tomcat的服务器环境 本经验仅仅介绍如何配置tomcat的开机自动启动 2 切换到tomcat/bin目录下 用vi ...

  8. 【英宝通Unity4.0公开课学习 】(三)脚本使用

    清明出去放松了一天. 看了下大姑爷,然后去大姑家吃了个午饭,下午三点左右出去找煤球耍,在他们学校和良乡镇逛了一下.当时感觉离北京好远好远啊... 其实不得不说现在的交通确实很方便,到哪都要不了几天,如 ...

  9. Spring AOP开发

    --------------------siwuxie095                                 Spring AOP 开发         1.在 Spring 中进行 ...

  10. 实现Quartz的动态增删改查

    1. Maven依赖 <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId> ...