java实现第七届蓝桥杯棋子换位】的更多相关文章

棋子换位 棋子换位 有n个棋子A,n个棋子B,在棋盘上排成一行. 它们中间隔着一个空位,用"."表示,比如: AAA.BBB 现在需要所有的A棋子和B棋子交换位置. 移动棋子的规则是: 1. A棋子只能往右边移动,B棋子只能往左边移动. 2. 每个棋子可以移动到相邻的空位. 3. 每个棋子可以跳过相异的一个棋子落入空位(A跳过B或者B跳过A). AAA.BBB 可以走法: 移动A ==> AA.ABBB 移动B ==> AAAB.BB 跳走的例子: AA.ABBB ==&g…
题目8.冰雹数 题目描述 任意给定一个正整数N, 如果是偶数,执行: N / 2 如果是奇数,执行: N * 3 + 1 生成的新的数字再执行同样的动作,循环往复. 通过观察发现,这个数字会一会儿上升到很高, 一会儿又降落下来. 就这样起起落落的,但最终必会落到"1" 这有点像小冰雹粒子在冰雹云中翻滚增长的样子. 比如N=9 9,28,14,7,22,11,34,17,52,26,13,40,20,10,5,16,8,4,2,1 可以看到,N=9的时候,这个"小冰雹"…
七星填数 如图[图1.png]所示. 在七角星的14个节点上填入1~14 的数字,不重复,不遗漏. 要求每条直线上的四个数字之和必须相等. 图中已经给出了3个数字. 请计算其它位置要填充的数字,答案唯一. 填好后,请提交绿色节点的4个数字(从左到右,用空格分开) 比如:12 5 4 8 当然,这不是正确的答案. 注意:只提交4个用空格分开的数字,不要填写任何多余的内容. 答案:10 3 9 8 import java.util.HashSet; public class Main { publi…
10.压缩变换  (程序设计) 小明最近在研究压缩算法.他知道,压缩的时候如果能够使得数值很小,就能通过熵编码得到较高的压缩比.然而,要使数值很小是一个挑战. 最近,小明需要压缩一些正整数的序列,这些序列的特点是,后面出现的数字很大可能是刚出现过不久的数字.对于这种特殊的序列,小明准备对序列做一个变换来减小数字的值. 变换的过程如下:从左到右枚举序列,每枚举到一个数字,如果这个数字没有出现过,刚将数字变换成它的相反数,如果数字出现过,则看它在原序列中最后的一次出现后面(且在当前数前面)出现了几种…
9.取球博弈  (程序设计) 两个人玩取球的游戏.一共有N个球,每人轮流取球,每次可取集合{n1,n2,n3}中的任何一个数目.如果无法继续取球,则游戏结束.此时,持有奇数个球的一方获胜.如果两人都是奇数,则为平局. 假设双方都采用最聪明的取法,第一个取球的人一定能赢吗?试编程解决这个问题. 输入格式:第一行3个正整数n1 n2 n3,空格分开,表示每次可取的数目 (0<n1,n2,n3<100)第二行5个正整数x1 x2 ... x5,空格分开,表示5局的初始球数(0<xi<10…
标题:赢球票 某机构举办球票大奖赛.获奖选手有机会赢得若干张球票. 主持人拿出 N 张卡片(上面写着 1~N 的数字),打乱顺序,排成一个圆圈. 你可以从任意一张卡片开始顺时针数数: 1,2,3- 如果数到的数字刚好和卡片上的数字相同,则把该卡片收入囊中,从下一个卡片重新数数. 直到再无法收获任何卡片,游戏结束.囊中卡片数字的和就是赢得球票的张数. 比如: 卡片排列是:1 2 3 我们从1号卡开始数,就把1号卡拿走.再从2号卡开始,但数的数字无法与卡片对上, 很快数字越来越大,不可能再拿走卡片了…
四平方和 四平方和 四平方和定理,又称为拉格朗日定理: 每个正整数都可以表示为至多4个正整数的平方和. 如果把0包括进去,就正好可以表示为4个数的平方和. 比如: 5 = 0^2 + 0^2 + 1^2 + 2^2 7 = 1^2 + 1^2 + 1^2 + 2^2 (^符号表示乘方的意思) 对于一个给定的正整数,可能存在多种平方和的表示法. 要求你对4个数排序: 0 <= a <= b <= c <= d 并对所有的可能表示法按 a,b,c,d 为联合主键升序排列,最后输出第一个…
有奖竞猜 题目描述 小明很喜欢猜谜语. 最近,他被邀请参加了X星球的猜谜活动. 每位选手开始的时候都被发给777个电子币. 规则是:猜对了,手里的电子币数目翻倍, 猜错了,扣除555个电子币, 扣完为止. 小明一共猜了15条谜语. 战果为:vxvxvxvxvxvxvvx 其中v表示猜对了,x表示猜错了. 请你计算一下,小明最后手里的电子币数目是多少. 请填写表示最后电子币数目的数字. 注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字. 结果:58497 import java.u…
机器人塔 X星球的机器人表演拉拉队有两种服装,A和B. 他们这次表演的是搭机器人塔. 类似: A B B A B A A A B B B B B A B A B A B B A 队内的组塔规则是: A 只能站在 AA 或 BB 的肩上. B 只能站在 AB 或 BA 的肩上. 你的任务是帮助拉拉队计算一下,在给定A与B的人数时,可以组成多少种花样的塔. 输入一行两个整数 M 和 N,空格分开(0<M,N<500),分别表示A.B的人数,保证人数合理性. 要求输出一个整数,表示可以产生的花样种数…
凑平方数 把0~9这10个数字,分成多个组,每个组恰好是一个平方数,这是能够办到的. 比如:0, 36, 5948721 再比如: 1098524736 1, 25, 6390784 0, 4, 289, 15376 等等- 注意,0可以作为独立的数字,但不能作为多位数字的开始. 分组时,必须用完所有的数字,不能重复,不能遗漏. 如果不计较小组内数据的先后顺序,请问有多少种不同的分组方案? 注意:需要提交的是一个整数,不要填写多余内容. 答案:300 import java.util.Array…