当前位置: 首页 > news >正文

多米诺骨牌游戏

问题描述

多米诺骨牌游戏规则非常简单,将骨牌按一定间距的尺寸排成单行,或分行排成一片。推倒第一张骨牌,其余发生连锁反应依次倒下,或形成一条长龙,或形成一幅图案。

小 A 觉得多米诺骨牌超级没意思,所以他想了点小花招。

小 A 将 n 个多米诺骨牌放在一条线上,每一块都垂直竖立。他同时将一些骨牌向左或向右推倒。 每过一秒,被推向左边或右边的骨牌会将左边或右边的相邻骨牌推倒。当一个骨牌,其左边倒向它的骨牌数目与其右边倒向它的骨牌数目相等时,由于力的平衡,该骨牌将依然保持竖立。

给定小 A 最初推骨牌的方向,求出最后依然保持竖立的骨牌数目和位置。

输入格式

输入数据第一行包括一个整数 n(1≤n≤3000),表示这一行多米诺骨牌的数目。下一行包括一个长度为 n 的字符串,字符串的第 i 个字符意义如下:

“L”,第 i 个字符将要被向左推。

“R”,第 i 个字符将要被向右推。

“.”,第 i 个字符不会被推。

输出格式

首先输出保持竖立的骨牌数目。如果保持竖立的骨牌数目不为 0,下一行输出保持竖立的骨牌的位置,骨牌位置从 1 到 n。

每两个数之间用一个空格隔开,注意最后一个数后面没有空格。

输入样例

14

.L.R…LR…L…

5

R…

1

.

输出样例

4

3 6 13 14

0

1

1

def solution(num, data):# Please write your code herepre  = ""while pre != data:pre = data data = data.replace("R.L","X")data = data.replace("R.","RR")data = data.replace(".L","LL")data = data.replace("X","R.L")num = 0upright_positions = []for i in range(len(data)):if data[i]== ".":num += 1upright_positions.append(i+1)if num == 0:return str(num)return f"{num}:{','.join(map(str, upright_positions))}"if __name__ == "__main__":# 直接打印函数的返回值print(solution(14, ".L.R...LR..L..") == "4:3,6,13,14")print(solution(5, "R....") == "0")print(solution(1, ".") == "1:1")

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Python提供内置正则表达式库
  • 大数据-147 Apache Kudu 常用 Java API 增删改查
  • 回归阅读第一本:《瓦尔纳宝典》
  • 使用电脑当服务器,来组建局域网是否安全
  • mini-lsm通关笔记Week2Overview
  • IT行业的未来:技术变革与创新的持续推动
  • 肺结节检测-目标检测数据集(包括VOC格式、YOLO格式)
  • 复试经验分享《一、问答题自测》(408、相关前沿技术)
  • 【计算机网络篇】电路交换,报文交换,分组交换
  • echarts 导出pdf空白原因
  • 分析二极管的交流响应(1)——直流分析,Q点的计算
  • 【折腾笔记】雷池WAF社区版自动SSL续签
  • 前端面试题(二)
  • 观测云全面支持 OaC,通过 Terraform 管理您的可观测性
  • 【Pyside】pycharm2024配置conda虚拟环境
  • CentOS从零开始部署Nodejs项目
  • Codepen 每日精选(2018-3-25)
  • crontab执行失败的多种原因
  • echarts花样作死的坑
  • express.js的介绍及使用
  • happypack两次报错的问题
  • javascript 哈希表
  • oschina
  • ReactNative开发常用的三方模块
  • Spring声明式事务管理之一:五大属性分析
  • uni-app项目数字滚动
  • vue学习系列(二)vue-cli
  • 初识MongoDB分片
  • 今年的LC3大会没了?
  • 跨域
  • 如何设计一个比特币钱包服务
  • 使用阿里云发布分布式网站,开发时候应该注意什么?
  • 微服务核心架构梳理
  • Python 之网络式编程
  • ​插件化DPI在商用WIFI中的价值
  • # 利刃出鞘_Tomcat 核心原理解析(八)-- Tomcat 集群
  • #Datawhale X 李宏毅苹果书 AI夏令营#3.13.2局部极小值与鞍点批量和动量
  • #LLM入门|Prompt#1.8_聊天机器人_Chatbot
  • #每天一道面试题# 什么是MySQL的回表查询
  • $.ajax中的eval及dataType
  • (1)Android开发优化---------UI优化
  • (13)[Xamarin.Android] 不同分辨率下的图片使用概论
  • (2)nginx 安装、启停
  • (27)4.8 习题课
  • (31)对象的克隆
  • (Charles)如何抓取手机http的报文
  • (ISPRS,2021)具有遥感知识图谱的鲁棒深度对齐网络用于零样本和广义零样本遥感图像场景分类
  • (纯JS)图片裁剪
  • (大众金融)SQL server面试题(1)-总销售量最少的3个型号的车及其总销售量
  • (第30天)二叉树阶段总结
  • (第一天)包装对象、作用域、创建对象
  • (五)大数据实战——使用模板虚拟机实现hadoop集群虚拟机克隆及网络相关配置
  • (转)Groupon前传:从10个月的失败作品修改,1个月找到成功
  • (转)利用PHP的debug_backtrace函数,实现PHP文件权限管理、动态加载 【反射】...
  • (最优化理论与方法)第二章最优化所需基础知识-第三节:重要凸集举例