题目描述
今盒子里有n个小球,A、B两人轮流从盒中取球,每个人都可以看到另一个人取了多少个,也可以看到盒中还剩下多少个,并且两人都很聪明,不会做出错误的判断。
我们约定:
每个人从盒子中取出的球的数目必须是:1,3,7或者8个。
轮到某一方取球时不能弃权!
A先取球,然后双方交替取球,直到取完。
被迫拿到最后一个球的一方为负方(输方)
请编程确定出在双方都不判断失误的情况下,对于特定的初始球数,A是否能赢?
程序运行时,从标准输入获得数据,其格式如下:
先是一个整数n(n<100),表示接下来有n个整数。然后是n个整数,每个占一行(整数<10000),表示初始球数。
程序则输出n行,表示A的输赢情况(输为0,赢为1)。
例如,用户输入:



10
18
则程序应该输出:
0
1
1
0
注意:
请仔细调试!您的程序只有能运行出正确结果的时候才有机会得分!
在评卷时使用的输入数据与试卷中给出的实例数据可能是不同的。
请把所有函数写在同一个文件中,调试好后,存入与【考生文件夹】下对应题号的“解答.txt”中即可

解析:题目中两人都很聪明,不会做出错误的判断说明两个人都会按照最优的策略进行取球,即A一定会想让B的状态变成1,3,7,8的情况,B也一定会想让A的状态变成1,3,7,8的情况。那么只要找出A必赢和必输的点就可以了。下面的程序遍历出来10000个数中所有a会赢的点,输出即可。

import java.util.Scanner;public class Main {static int b[] = {1, 3, 7, 8};static boolean a[] = new boolean[10010];public static void main(String[] args) {Init();Scanner input = new Scanner(System.in);int N = input.nextInt();while (N-- > 0) {int n = input.nextInt();System.out.println(a[n] ? 1 : 0);}}private static void Init() {for (int i = 1; i < 10000; i++) {if (!a[i]) {for (int j = 0; j < 4; j++)a[i + b[j]] = true;}}}
}

蓝桥杯第三届省赛JAVA真题----取球博弈相关推荐

  1. 蓝桥杯第八届省赛JAVA真题----k倍区间

    标题: k倍区间 给定一个长度为N的数列,A1, A2, ... AN,如果其中一段连续的子序列Ai, Ai+1, ... Aj(i <= j)之和是K的倍数,我们就称这个区间[i, j]是K倍 ...

  2. 蓝桥杯第八届省赛JAVA真题----油漆面积

    标题:油漆面积 X星球的一批考古机器人正在一片废墟上考古. 该区域的地面坚硬如石.平整如镜. 管理人员为方便,建立了标准的直角坐标系. 每个机器人都各有特长.身怀绝技.它们感兴趣的内容也不相同. 经过 ...

  3. 蓝桥杯第八届省赛JAVA真题----Excel地址

    标题: Excel地址 Excel单元格的地址表示很有趣,它使用字母来表示列号. 比如, A表示第1列, B表示第2列, Z表示第26列, AA表示第27列, AB表示第28列, BA表示第53列, ...

  4. 蓝桥杯第八届省赛JAVA真题----9数算式

    标题:9数算式 观察如下的算式: 9213 x 85674 = 789314562 左边的乘数和被乘数正好用到了1~9的所有数字,每个1次. 而乘积恰好也是用到了1~9的所有数字,并且每个1次. 请你 ...

  5. 蓝桥杯第八届省赛JAVA真题----包子凑数

    标题:包子凑数 小明几乎每天早晨都会在一家包子铺吃早餐.他发现这家包子铺有N种蒸笼,其中第i种蒸笼恰好能放Ai个包子.每种蒸笼都有非常多笼,可以认为是无限笼. 每当有顾客想买X个包子,卖包子的大叔就会 ...

  6. 蓝桥杯第八届省赛JAVA真题----分巧克力

    标题: 分巧克力 儿童节那天有K位小朋友到小明家做客.小明拿出了珍藏的巧克力招待小朋友们. 小明一共有N块巧克力,其中第i块是Hi x Wi的方格组成的长方形. 为了公平起见,小明需要从这 N 块巧克 ...

  7. 蓝桥杯第八届省赛JAVA真题----正则问题

    描述:正则问题 考虑一种简单的正则表达式: 只由 x ( ) | 组成的正则表达式. 小明想求出这个正则表达式能接受的最长字符串的长度. 例如 ((xx|xxx)x|(x|xx))xx 能接受的最长字 ...

  8. 蓝桥杯第五届省赛JAVA真题----n级台阶

    有n级台阶.从地面(第0级)出发,首先连续的上台阶,上到不超过第n级的某一个位置后再连续的下台阶,直到回到地面.若每次上下台阶只允许走1级或2级,请问可能的上下台阶的方案数是多少? 特别地,在0级站着 ...

  9. 蓝桥杯第八届省赛JAVA真题----拉马车

    标题:拉马车 小的时候,你玩过纸牌游戏吗? 有一种叫做"拉马车"的游戏,规则很简单,却很吸引小朋友. 其规则简述如下: 假设参加游戏的小朋友是A和B,游戏开始的时候,他们得到的随机 ...

最新文章

  1. 实体框架高级应用之动态过滤 EntityFramework DynamicFilters
  2. git 撤销全部的commit_git 撤销commit
  3. 【数理知识】《随机过程》方兆本老师-第3章-Markov 过程
  4. Python闭包的使用
  5. 神器-unity插件-Odin
  6. 光流 | 金字塔迭代(Iterative Pyramidal)LK光流算法(Matlab源代码)
  7. Matrix工作室人事管理规章
  8. .NET Core整合log4net以及全局异常捕获实现2
  9. 麦克风阵列音频检查方法和标准
  10. 客运售票员_「我做一天春运人」体验通村客车售票员兼安全员 温馨慢车上我背着太阳奔跑...
  11. 鸿蒙系统速度和ios,鸿蒙系统到底和苹果安卓有什么区别
  12. 章节三、2-方法_演示实例
  13. 计算机等级考试四级有多少题,全国计算机等级考试四级试题(一)
  14. vb6.0 listview隐藏水平方向滚动条_为Vuetify的UI组件添加滚动条
  15. VC编译项目时缺少atlrx.h的解决办法
  16. [leetcode]5169. 日期之间隔几天
  17. 编译 java_如何编译java
  18. [渝粤教育] 江西财经大学 税法 参考 资料
  19. 【书评】《IPD 华为研发之道》(著者:刘选鹏)
  20. 动手学深度学习-04 过拟合、欠拟合及其解决方案

热门文章

  1. mysql 操作表的例子,mysql中库和表的简单操作总结(附示例)
  2. java义一个方法,返回一组双色球票数
  3. linux文件赋予755权限,Linux文件和目录的777、755、644权限解释
  4. Redis的超时命令和垃圾回收策略
  5. Redis有序集合详解
  6. C++跳过(忽略)指定字符
  7. 悬浮窗java_Java制作一个简易的悬浮窗/PPT悬浮窗
  8. 【OpenCV 例程200篇】41. 图像的灰度变换(灰度级分层)
  9. 【OpenCV 例程200篇】03. 图像的显示(cv2.imshow)
  10. python里面的dict和set