机器人编程java面试题,7届国赛java试题 4: 机器人塔
机器人塔(DFS)
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
例如:
用户输入:
1 2
程序应该输出:
3
再例如:
用户输入:
3 3
程序应该输出:
4
思路:
我们输入的A,B的值先确定塔的层数,因为题目说了保证人数的合理性,无论A,B给多少人,能堆出来的塔的层数一定是唯一确定的。我们先从最后一层开始把最后一层的所有可能遍历出来,然后在用递推的方式一层一层的递归。c[r+1][l]==c[r+1][l+1]这个是当下面的字母相等时当前的这个位置一定为a,反之就是b。
程序:
a=list(map(int,input().split()))
s=sum(a)
ab=[1,2]
for i in range(2,1000):
if s==((i+1)*i)//2:
o=i
break
try:
c=[[0 for i1 in range(o+1)]for i in range(o+1)]
con=0
def ck(i,r,l):
if a[i]-1>=0:
c[r][l]=ab[i]
a[i]-=1
if l>=r:
dfs(r-1,0)
else:
dfs(r,l+1)
c[r][l]=0
a[i]+=1
def dfs(r,l):
global con
if r==-1:
con+=1
return
elif r==o-1:
for i in range(2):
ck(i,r,l)
elif c[r+1][l]==c[r+1][l+1]:
ck(0,r,l)
elif c[r+1][l]!=c[r+1][l+1]:
ck(1,r,l)
dfs(o-1,0)
print(con)
except:
print(0)
禁止转载。仅用于自己学习。对程序错误不负责。
机器人编程java面试题,7届国赛java试题 4: 机器人塔相关推荐
- 蓝桥杯第七届国赛JAVA真题----机器人塔
机器人塔 X星球的机器人表演拉拉队有两种服装,A和B. 他们这次表演的是搭机器人塔. 类似: 队内的组塔规则是: A 只能站在 AA 或 BB 的肩上. B 只能站在 AB 或 BA 的肩上. ...
- 标题 穿越雷区 java_6届国赛java试题 4: 穿越雷区
穿越雷区(BFS) X星的坦克战车很奇怪,它必须交替地穿越正能量辐射区和负能量辐射区才能保持正常运转,否则将报废.某坦克需要从A区到B区去(A,B区本身是安全区,没有正能量或负能量特征),怎样走才能路 ...
- 焦作机器人编程比赛_第二十届全国中小学生电脑制作活动“机器人竞赛”焦作选拔赛成功举办...
(焦作市教育局党组成员.副局长井元锋发表重要讲话) (焦作市第一中学校长吴庆杰致欢迎词) (领导们参观机器人竞赛现场) (领导们参观创意编程比赛现场) 炫酷挑战赛,点燃科技激情 确保竞赛的公正公平.特 ...
- 蓝桥杯第七届国赛JAVA真题----平方末尾
平方末尾 能够表示为某个整数的平方的数字称为"平方数" 比如,25,64 虽然无法立即说出某个数是平方数,但经常可以断定某个数不是平方数. 因为平方数的末位只可能是:[0, 1, ...
- 蓝桥杯第六届国赛JAVA真题----切开字符串
标题:切开字符串 Pear有一个字符串,不过他希望把它切成两段. 这是一个长度为N(<=10^5)的字符串. Pear希望选择一个位置,把字符串不重复不遗漏地切成两段,长度分别是t和N-t(这两 ...
- 蓝桥杯第六届国赛JAVA真题----表格计算
标题:表格计算 某次无聊中, atm 发现了一个很老的程序.这个程序的功能类似于 Excel ,它对一个表格进行操作. 不妨设表格有 n 行,每行有 m 个格子. 每个格子的内容可以是一个正整数,也可 ...
- 蓝桥杯第六届国赛JAVA真题----奇怪的数列
标题:奇怪的数列 从X星截获一份电码,是一些数字,如下: 13 1113 3113 132113 1113122113 .... YY博士经彻夜研究,发现了规律: 第一行的数字随便是什么,以后每一行都 ...
- 蓝桥杯第六届国赛JAVA真题----密文搜索
标题:密文搜索 福尔摩斯从X星收到一份资料,全部是小写字母组成. 他的助手提供了另一份资料:许多长度为8的密码列表. 福尔摩斯发现,这些密码是被打乱后隐藏在先前那份资料中的. 请你编写一个程序,从第一 ...
- 11届国赛python试题 J: 蓝跳跳
蓝跳跳 [问题描述] 小蓝制作了一个机器人,取名为蓝跳跳,因为这个机器人走路的时候基本靠跳跃. 蓝跳跳可以跳着走,也可以掉头.蓝跳跳每步跳的距离都必须是整数,每步可以跳不超过 k 的长度.由于蓝跳跳的 ...
- 蓝桥杯第七届国赛JAVA真题----七星填数
七星填数 如图[图1.png]所示. 在七角星的14个节点上填入1~14 的数字,不重复,不遗漏. 要求每条直线上的四个数字之和必须相等. 图中已经给出了3个数字. 请计算其它位置要填充的数字,答案唯 ...
最新文章
- 服务器响应的生成:HTTP响应报头——HttpServletResponse接口的应用
- 时序预测的必要条件是基于策略和环境相对稳定前提的
- 《JavaScript高效图形编程(修订版)》——第2章 DHTML基础 2.1创建DHTML sprite
- 软件测试中英文词汇汇总
- LINUX系统中动态链接库的创建与使用
- 开放下载!《AliOS Things快速开发指南》
- 信息学奥赛C++语言:判断正负
- 详解语音识别的技术原理
- (原創) 用OOP实作矩阵相乘 (C/C++)
- Java服务端获取微信小程序openid(简单实现,搞懂原理)
- Spring Boot 接入 Dubbo 指导文档
- python都被我用来爬美女图片了
- c盘找不到appdata
- 【单片机笔记】STM8S003F3使用内部基准电压测量供电电压
- 基于51单片机的扫地小车,扫地机器人设计。 有原理图,程序代码,原文
- linux系统接显示器 扩展模式怎么设置,Ubuntu10.04双显示器扩展方式 接显示器分辨率低的解决...
- net:ERR_UPLOAD_FILE_CHANGED in Chrome
- 北京办理居住证的全流程
- 北上广深有哪些比较知名的芯片设计企业
- 现代商业杂志现代商业杂志社现代商业编辑部2022年第16期目录