篮球游戏-

题目描述

幼儿园里有一个放倒的圆桶,它是一个线性结构,允许在桶的右边将篮球放入,可以在桶的左边和右边将篮球取出。每个篮球有单独的编号,老师可以连续放入一个或多个篮球,小朋友可以在桶左边或右边将篮球取出,当桶里只有一个篮球的情况下,必须从左边取出。

如老师按顺序放入1、2、3、4、5 共5个编号的篮球,那么小朋友可以依次取出的编号为1、2、3、4、5或者3、1、2、4、5编号的篮球,无法取出5、1、3、2、4编号的篮球

其中3、1、2、4、5的取出场景为: 连续放入1、2、3号 -> 从右边取出3号 -> 从左边取出1号 -> 从左边取出2号 -> 放入4号 -> 从左边取出4号 -> 放入5号>从左边取出5号,简单起见,我们以L表示左,R表示右,此时的篮球的依次取出序列为"RLLLL"

输入描述

每次输入包含一个测试用例:

1、第一行的数字作为老师依次放入的篮球编号

2、第二行的数字作为要检查是否能够按照放入顺序取出的篮球编号

其中篮球编号用逗号进行分隔。

输出描述

对于每个篮球的取出序列,如果确实可以获取,请打印出其按照左右方向的操作的取出顺序,如果无法获取则打印"NO"

备注

1、1 <= 篮球的编号,篮球个数 <= 200;

2、篮球上的数字不重复

3、输出的结果中LR的必须为大写:

示例

输入

4,5,6,7,0,1,2
6,4,0,1,2,5,7

输出

RLRRRLL
from collections import deque

# 入队顺序
push_list = list(map(int, input().split(",")))
# 出队顺序
pop_list = list(map(int, input().split(",")))
n = len(push_list)
q = deque()
ans = str()
pop_idx = 0
for push_num in push_list:
    q.append(push_num)
    while len(q) > 0:
        if q[0] == pop_list[pop_idx]:
            q.popleft()
            pop_idx += 1
            ans += "L"
        elif q[-1] == pop_list[pop_idx]:
            q.pop()
            pop_idx += 1
            ans += "R"
        else:
            break
print(ans) if len(ans) == n else print("NO")

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
幼儿园篮球游戏使用C语言进行编写可以提供一种互动的儿童体验。在这个游戏中,主要的目标是让幼儿园的孩子们学习和享受篮球运动。 首先,游戏需要设置一个篮球场地的背景图像,并在画布上绘制篮球场地的各个部分,如篮筐、三分线等。然后,使用C语言的图形库,如graphics.h,在屏幕上显示这个背景图像。 接下来,需要创建一个球员的角色,可以使用基本的图形函数来绘制球员的形状和颜色。球员的角色可以使用键盘输入控制,例如按下左键或右键来移动球员。使用C语言的函数来获取键盘输入,并在游戏中更新球员的位置。 然后,为了增加游戏的难度和挑战性,可以在篮球场地的各个位置随机生成篮球,使用C语言的随机数函数。球员需要在规定的时间内将篮球投进篮筐,否则游戏失败。 同时,还可以设置积分系统,每次球员成功投篮都会增加分数,在游戏结束时显示最终的得分。 最后,为了增加游戏的趣味性,可以在篮球场地上添加一些特殊道具或者障碍物,如传球器、弹簧板等。这些道具可以通过球员与之碰撞来触发相应的动画效果。 综上所述,使用C语言编写幼儿园篮球游戏可以提供一种互动的体验,让孩子们在玩游戏的过程中学习和享受篮球运动。这个游戏可以通过键盘输入控制球员,随机生成篮球,并设置积分系统和特殊道具来增加游戏的趣味性和挑战性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值