Bash游戏
来源:互联网 发布:女装淘宝店铺特别名字 编辑:程序博客网 时间:2024/06/01 10:11
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1066
有一堆石子共有N个。A B两个人轮流拿,A先拿。每次最少拿1颗,最多拿K颗,拿到最后1颗石子的人获胜。假设A B都非常聪明,拿石子的过程中不会出现失误。给出N和K,问最后谁能赢得比赛。
例如N = 3,K = 2。无论A如何拿,B都可以拿到最后1颗石子。
巴什博弈,后手可以和先手总共拿k+1个
只有一堆物品,共有n个,两人轮流从这对物品取,规定每次至少取一个,最多取m个,取最后一个胜。
1、当n<=m时,先取者可一次去完,所以先取者胜;
2、当n=m+1时,无论先取者如何取,后取者都可一次性取完,所以后取者胜,
只要n=k(m+1),后去者只要采取正确的取法(取m+1与先取者之间的差),后去者一
定能获胜。走到这里规律已经很明显了,先取者要想获胜就必须让后取者面对
k(m+1)个。
综上所述:胜利者一定要让失败者面对看k(m+1)个物品。要判断谁胜利,只需看
n%(m+1))(取余),若余数为0,先取者必败,否则后取者必败。
问题很简单 直接上代码了
#include<stdio.h>int main(){ __int64 N,K; int t; scanf("%d",&t); while(t--) { scanf("%I64d%I64d",&N,&K); if(N%(K+1)) printf("A\n"); else printf("B\n"); }}
- Bash游戏
- Bash游戏
- Bash游戏 V2
- Bash游戏 V3
- Bash游戏 V4
- 1066 Bash游戏
- Bash游戏(博弈)
- 1124: Bash 游戏
- 1067 Bash游戏 V2
- 51 nod bash游戏
- Bash游戏(巴什博奕)
- 51nod_1066 Bash游戏
- 1066 Bash游戏
- 1068 Bash游戏 V3
- Bash游戏 V2
- 51nod Bash游戏V1 Bash游戏V2
- 51nod 1066 Bash游戏
- 51nod 1066 Bash游戏
- WIFI编程
- 初识EJB3.0的答疑总结(一)
- 2011年薪超百万职业(组图)
- JavaScript 中 window.setTimeout() 的详细用法
- HDU 1176 免费馅饼
- Bash游戏
- ScrollView 实现下拉刷新(二)
- 读取Nutch抓取文件中的Segments中Parse_Text的内容
- Codeforces Beta Round #70 (Div. 2)——A,B,C
- android111--looper
- 学习日记-观察者模式
- C++内存分配方式详解——堆、栈、自由存储区、全局/静态存储区和常量存储区
- HTMLParser的两种使用方法
- HEVC-Tool list