java算法 第七届 蓝桥杯B组(题+答案) 9.取球博弈
9.取球博弈 (程序设计)
两个人玩取球的游戏。
一共有N个球,每人轮流取球,每次可取集合{n1,n2,n3}中的任何一个数目。
如果无法继续取球,则游戏结束。
此时,持有奇数个球的一方获胜。
如果两人都是奇数,则为平局。
假设双方都采用最聪明的取法,
第一个取球的人一定能赢吗?
试编程解决这个问题。
输入格式:
第一行3个正整数n1 n2 n3,空格分开,表示每次可取的数目 (0<n1,n2,n3<100)
第二行5个正整数x1 x2 ... x5,空格分开,表示5局的初始球数(0<xi<1000)
输出格式:
一行5个字符,空格分开。分别表示每局先取球的人能否获胜。
能获胜则输出+,
次之,如有办法逼平对手,输出0,
无论如何都会输,则输出-
例如,输入:
1 2 3
1 2 3 4 5
程序应该输出:
+ 0 + 0 -
再例如,输入:
1 4 5
10 11 12 13 15
程序应该输出:
0 - 0 + +
再例如,输入:
2 3 5
7 8 9 10 11
程序应该输出:
+ 0 0 0 0
资源约定:
峰值内存消耗(含虚拟机) < 256M
CPU消耗 < 3000ms
import java.util.Scanner;
public class _9取球博弈 {
public static int [] n = new int[3];
public static int [] init = new int[5];
public static int [] end = new int[1000];
public static char [] sign = {'-','0','0','+'};
public static void main(String [] args){
Scanner scan = new Scanner(System.in);
for(int i = 0; i < 3; i++){
n[i] = scan.nextInt();
}
int Min = Math.min(n[0], Math.min(n[1], n[2]));
for(int i = 0; i < 5; i++){
init[i] = scan.nextInt();
}
for(int i = 0; i < Min; i++){
end[i] = 2;
}
for(int i = Min; i < end.length; i++){
int temp = 0;
for(int j =0; j < 3; j++){
if(i - n[j] < 0)
continue;
else if(end[i-n[j]] == 3){
if(n[j]%2 != 0)
temp = 1 > temp ? 1 : temp;
}
else if(end[i-n[j]] == 0){
if(n[j]%2 == 0)
temp = 3;
else
temp = 2 > temp ? 2 : temp;
}
else if(end[i-n[j]] == 2){
if(n[j]%2==0)
temp = 2 > temp ? 2 : temp;
else
temp = 3;
}
else if(end[i-n[j]] == 1){
if(n[j]%2==0)
temp = 1 > temp ? 1 : temp;
}
}
end[i] = temp;
}
for(int i = 0; i < 5; i++){
System.out.print(sign[end[init[i]]]+" ");
}
}
}
(参考网上的,没有思路0.0)
java算法 第七届 蓝桥杯B组(题+答案) 9.取球博弈的更多相关文章
- java算法 第七届 蓝桥杯B组(题+答案) 10.压缩变换
10.压缩变换 (程序设计) 小明最近在研究压缩算法.他知道,压缩的时候如果能够使得数值很小,就能通过熵编码得到较高的压缩比.然而,要使数值很小是一个挑战. 最近,小明需要压缩一些正整数的序列,这些 ...
- java算法 第七届 蓝桥杯B组(题+答案) 8.四平方和
8.四平方和 (程序设计) 四平方和定理,又称为拉格朗日定理:每个正整数都可以表示为至多4个正整数的平方和.如果把0包括进去,就正好可以表示为4个数的平方和. 比如:5 = 0^2 + 0^2 + ...
- java算法 第七届 蓝桥杯B组(题+答案) 7.剪邮票
7.剪邮票 (结果填空) 如[图1.jpg], 有12张连在一起的12生肖的邮票.现在你要从中剪下5张来,要求必须是连着的.(仅仅连接一个角不算相连)比如,[图2.jpg],[图3.jpg]中,粉红 ...
- java算法 第七届 蓝桥杯B组(题+答案) 6.方格填数
6.方格填数 (结果填空) 如下的10个格子 (如果显示有问题,也可以参看[图1.jpg]) 填入0~9的数字.要求:连续的两个数字不能相邻.(左右.上下.对角都算相邻) 一共有多少种可能的填数方案 ...
- java算法 第七届 蓝桥杯B组(题+答案) 5.抽签
5.抽签 (代码填空) X星球要派出一个5人组成的观察团前往W星.其中:A国最多可以派出4人.B国最多可以派出2人.C国最多可以派出2人..... 那么最终派往W星的观察团会有多少种国别的不同组合呢 ...
- java算法 第七届 蓝桥杯B组(题+答案) 4.分小组
4.分小组 (代码填空) 9名运动员参加比赛,需要分3组进行预赛.有哪些分组的方案呢? 我们标记运动员为 A,B,C,... I下面的程序列出了所有的分组方法. 该程序的正常输出为:ABC DEF ...
- java算法 第七届 蓝桥杯B组(题+答案) 3.凑算式
3.凑算式 (结果填空) B DEFA + --- + ------- = 10 C GHI (如果显示有问题,可以参见[图1.jpg]) 这个算式中A~ ...
- java算法 第七届 蓝桥杯B组(题+答案) 2.生日蜡烛
2.生日蜡烛 (结果填空) 某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛.现在算起来,他一共吹熄了236根蜡烛.请问,他从多少岁开始过生日party的?请填写他开 ...
- java算法 第七届 蓝桥杯B组(题+答案) 1.煤球数目
1.煤球数目 (结果填空) 有一堆煤球,堆成三角棱锥形.具体:第一层放1个,第二层3个(排列成三角形),第三层6个(排列成三角形),第四层10个(排列成三角形),....如果一共有100层,共有多少 ...
随机推荐
- modelsim仿真常用系统函数
(1)$time 作用:返回所在模块的仿真时间,可以查看信号的出现的时间,用来把握信号的时序. 如:$display(''the time is %t'',$time) ;//显示当时的时间 (2)$ ...
- MySQL中地理位置数据扩展geometry的使用心得
最近学习了些MySQL geometry数据存储和计算,在这里记录下. 1. 环境 geometry推荐在5.6版本以上使用,尽管大部分功能在5.5已经可用,除了距离计算函数st_distance等新 ...
- nginx+uwsgi 和nginx+gunicorn区别、如何部署
[线上环境部署Django,nginx+uwsgi 和nginx+gunicorn,这两种方案,应该如何选择?] 大家是采用的何种部署方式? 第一种,高并发稳定一点 我们公司使用的是nginx+gun ...
- 【转】linux中shell变量$#,$@,$0,$1,$2的含义解释
原文网址:http://www.cnblogs.com/fhefh/archive/2011/04/15/2017613.html linux中shell变量$#,$@,$0,$1,$2的含义解释: ...
- hadoop之 distcp(分布式拷贝)
概述 distcp(分布式拷贝)是用于大规模集群内部和集群之间拷贝的工具. 它使用Map/Reduce实现文件分发,错误处理和恢复,以及报告生成. 它把文件和目录的列表作为map任务的输入,每个任务会 ...
- 在window上使用eclipse对hadoop进行编程
步骤: 1.下载hadoop-eclipse-plugin-1.2.1.jar 2.把 hadoop-eclipse-plugin-1.2.1.jar"放到Eclipse的目录的" ...
- FC 协议
FC 协议简介 开发于1988年,最早是用来提高硬盘协议的传输带宽,侧重于数据的快速.高效.可靠传输.到上世纪90年代末, FC SAN 开始得到大规模的广泛应用. FC 协议其实并不能翻译成光纤协议 ...
- java代码---------实现布尔型的功能,是否执行下一步的关键
总结:灵活 package com.sads; import java.io.BufferedReader; import java.io.IOException; import java.io.In ...
- 制作mysql数据快照
在建立主从关系时,如果主上有旧数据,需要将旧数据拷贝到每一个从上.下面介绍几种不同的拷贝方式. 方法一:使用mysqldump工具创建一个你想要复制的所有数据库的一个dump.这是推荐使用的方法,特别 ...
- 【洛谷】P1052 过河(状压dp)
题目描述 在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧.在桥上有一些石子,青蛙很讨厌踩在这些石子上.由于桥的长度和青蛙一次跳过的距离都是正整数,我们可以把独木桥上青蛙可能到达的点看成数 ...