【CSP】202305-1_重复局面Python实现

news2025/1/21 12:16:44

文章目录

    • @[toc]
      • 试题编号
      • 试题名称
      • 时间限制
      • 内存限制
      • 题目背景
      • 问题描述
      • 输入格式
      • 输出格式
      • 样例输入
      • 样例输出
      • 样例说明
      • 子任务
      • 提示
      • `Python`实现

试题编号

202305-1

试题名称

重复局面

时间限制

1.0s

内存限制

512.0MB

题目背景

  • 国际象棋在对局时,同一局面连续或间断出现3次或3次以上,可由任意一方提出和棋

问题描述

  • 国际象棋每一个局面可以用大小为 8 × 8 8 \times 8 8×8的字符数组来表示,其中每一位对应棋盘上的一个格子
  • 六种棋子王、后、车、象、马、兵分别用字母 k k k q q q r r r b b b n n n p p p表示,其中大写字母对应白方、小写字母对应黑方
  • 棋盘上无棋子处用字符*表示
  • 两个字符数组的每一位均相同则说明对应同一局面
  • 现已按上述方式整理好了每步棋后的局面,试统计每个局面分别是第几次出现

在这里插入图片描述


输入格式

  • 从标准输入读入数据
  • 输入的第一行包含一个正整数 n n n,表示这盘棋总共有 n n n
  • 接下来 8 × n 8 \times n 8×n行,依次输入第 1 1 1到第 n n n步棋后的局面,具体来说每行包含一个长度为 8 8 8的字符串,每 8 8 8行字符串共 64 64 64个字符对应一个局面

输出格式

  • 输出到标准输出中
  • 输出共 n n n行,每行一个整数,表示该局面是第几次出现

样例输入

8
********
******pk
*****r*p
p*pQ****
********
**b*B*PP
****qP**
**R***K*
********
******pk
*****r*p
p*pQ****
*b******
****B*PP
****qP**
**R***K*
********
******pk
*****r*p
p*p*****
*b**Q***
****B*PP
****qP**
**R***K*
******k*
******p*
*****r*p
p*p*****
*b**Q***
****B*PP
****qP**
**R***K*
******k*
******p*
*****r*p
p*pQ****
*b******
****B*PP
****qP**
**R***K*
********
******pk
*****r*p
p*pQ****
*b******
****B*PP
****qP**
**R***K*
********
******pk
*****r*p
p*p*****
*b**Q***
****B*PP
****qP**
**R***K*
********
******pk
******rp
p*p*****
*b**Q***
****B*PP
****qP**
**R***K*

样例输出

1
1
1
1
1
2
2
1

样例说明

  • 6 6 6 7 7 7步后的局面分别与第 2 2 2 3 3 3步后的局面相同
  • 8 8 8步后的局面与上图相对应

子任务

  • 输入数据满足 n ≤ 100 n \leq 100 n100

提示

  • 判断重复局面仅涉及字符串比较,无需考虑国际象棋实际行棋规则

Python实现

n = int(input())

m = []
for _ in range(n):
    temp = []

    for _ in range(8):
        str = input()
        temp.append(str)

    m.append(temp)

res = [1 for _ in range(n)]

for i in range(n - 1, -1, -1):
    for j in range(i):
        if (m[i] == m[j]):
            res[i] += 1

for i in res:
    print(i)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1290273.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

会声会影2024软件还包含了视频教学以及模板素材

会声会影2024中文版是一款加拿大公司Corel发布的视频编软件。会声会影2024官方版支持视频合并、剪辑、屏幕录制、光盘制作、添加特效、字幕和配音等功能,用户可以快速上手。会声会影2024软件还包含了视频教学以及模板素材,让用户剪辑视频更加的轻松。 会…

【Linux 进度条小程序】缓冲区+回车换行

文章目录 回车与换行缓冲区举个栗子fflush函数倒计时小程序进度条小程序 回车与换行 回车和换行是不同的两个概念 回车:\r 使光标回到本行行首。 换行:\n使光标下移一格。 一般我们的键盘上的Enter键是回加换行键 在c语言中 \n 表示回车换行 效果和Ent…

iNet Network Scanner for Mac:简洁高效的WiFi网络扫描软件

随着无线网络的普及,WiFi网络已经成为我们日常生活中必不可少的一部分。无线网络的稳定性和速度对我们的工作和娱乐体验至关重要。因此,一款功能强大、简洁高效的WiFi网络扫描软件非常重要。今天,我们向大家推荐一款优秀的Mac平台WiFi网络扫描…

AI生成工具助力业界,黎万强投资。/微信支付和支付宝境外银行卡全面支持 | 魔法半周报

我有魔法✨为你劈开信息大海❗ 高效获取AIGC的热门事件🔥,更新AIGC的最新动态,生成相应的魔法简报,节省阅读时间👻 🔥资讯预览 AI应用一年半,IBM HR部省12000小时 华为沉默中,何时…

提高工厂能源效率的关键:工厂能耗监测平台

工业做为能源消耗的重要场所,所以节能减排对工业来讲是一个亟需解决的问题。除了对设备进行更新换代外,还需要能源管理消耗监测平台,帮助企业实现节能减排的目标。 工厂能源消费量非常庞大,能源比较难以监测与控制。传统能源的管…

《微信小程序开发从入门到实战》学习四十二

4.3 云开发文件存储 文件存储功能支持将任意数量和格式的文件(如图片和视频)保存在云端,支持 以文件夹的形式将文件归类。 在云开发控制台中,可以对云端保存的文件进行管理。 也可以通过文件存储API对文件进行上传、删除、移动…

每日股票价格 - 华为机试真题题解

每日股票价格 - 华为机试真题题解 题目描述 ​ 给定某只股票连续N天的价格列表stockPrices,其中stockPricesi表示股票某天的价格,请生成一个新列表,对应位置输出为:要想等到股票价格上涨,至少需要等待的天数,如果股票…

一个容器中填值,值太多不换行,而是调小字体大小和行高

<!-- clampLineHeight 重计算行高 --> <!-- clampTextSize 重计算字体大小 --> <!-- 这里的div高8mm, 宽6cm, 文本为text --> <div style"height:8mm;width:6cm;text-align:left"><span :style"{ fontSize: clampTextSize(text, 6cm…

Redis——某马点评day03——part2:秒杀业务异步优化

异步秒杀思路 原本的流程是如下所示&#xff0c;必须从开始到创建订单成功才会返回响应。就像饭店里面从下单到上菜都是一个人在服务&#xff0c;就导致服务员利用率很低&#xff0c;后一个顾客要等到前一个顾客上完菜才可以下单。 最简单的优化就是加员工&#xff0c;一次性…

基于单片机自动饮料混合机控制系统设计

**单片机设计介绍&#xff0c;基于单片机自动饮料混合机控制系统设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机自动饮料混合机控制系统设计是一个涉及多个领域的复杂项目&#xff0c;包括单片机技术、传感器技术…

开发者的福音:TinyVue 组件库文档大优化!类型更详细,描述更清晰!

你好&#xff0c;我是 Kagol。 前言 从今年2月份开源以来&#xff0c;有不少朋友给我们 TinyVue 组件库提了文档优化的建议&#xff0c;这些建议都非常中肯&#xff0c;我们也在持续对文档进行优化&#xff0c;并且从中总结出了大家对于文档优化的一些共性问题&#xff0c;形…

redis应用-分布式锁

目录 什么是分布式锁 分布式锁的基本实现 引入过期时间 引入校验id 引入lua 引入看门狗 引入redlock算法 什么是分布式锁 在一个分布式系统中,也会涉及到多个节点访问同一个公共资源的情况,此时就需要通过锁来做互斥控制,避免出现类似于"线程安全"的问题. 而…

Vis.js教程(三):设置关系图的节点关系指向

1、引言 在 Vis.js教程&#xff08;一&#xff09;基础关系图中&#xff0c;我们介绍了基础关系图的创建&#xff0c;以及关系图的简单样式修改。 这一节我们介绍如何给关系图添加节点之间的关系指向。 2、关系指向添加 // create an array with edgesconst edges new vis…

线上项目修改最后一招 修改jar中的文件并重新打包成jar

解压jar包 在要操作的jar文件上边cmd打开命令提示符窗口&#xff08;windows系统&#xff09;&#xff0c; 在cmd命令下执行 jar -xvf xxx.jar 解压jar包&#xff08;其中xxx.jar换成你的jar包名&#xff09; jar -xvf admin-1.0.0.jar 替换或者更改操作 如果要替换jar压缩…

【Redis】Redis的内部设计与实现

Redis的设计、实现 数据结构和内部编码 type命令实际返回的就是当前键的数据结构类型,它们分别是:string(字符串)hash(哈希)、list(列表)、set(集合)、zset (有序集合),但这些只是Redis对外的数据结构。 实际上每种数据结构都有自己底层的内部编码实现,而且是多种实现,…

K-Radar:适用于各种天气条件的自动驾驶4D雷达物体检测

文章&#xff1a;K-Radar: 4D Radar Object Detection for Autonomous Driving in Various Weather Conditions 作者&#xff1a;Dong-Hee Paek&#xff0c; Seung-Hyun Kong&#xff0c;Kevin Tirta Wijaya 编辑&#xff1a;点云PCL 代码&#xff1a;https://github.com/ka…

【使用高德开放平台API和js的Ajax代码实现定位并获得城市的天气情况】

使用高德开放平台API和js的Ajax代码实现定位并获得城市的天气情况 1、注册高德开放平台账号&#xff0c;免费获得Web服务API应用key 高德开放平台Web服务API 按照API点击申请KEY 登录后进入应用管理 新建应用&#xff08;随意起名&#xff09; 然后添加key提交即可 然后就可…

开发步骤、Java开发工具

目录 一、开发步骤 二、Java开发工具 JDK安装完毕&#xff0c;我们就可以开始开发第一个Java程序了&#xff0c;习惯性的成为HelloWorld。 一、开发步骤 Java程序开发三步骤&#xff1a;编写、编译、运行 -将Java代码编写到扩展名为.java的源文件中 -通过javac.exe命令对…

【办公软件】Win10/Win11复制粘贴必须刷新才能显示

更换了新的一台电脑&#xff0c;但是发现新建文件夹或是复制粘贴文件时&#xff0c;不管是在桌面还是在其他磁盘中都需要右击刷新一下才显示。让人很郁闷&#xff0c;比如新建一个文件夹不显示以为没有新建成功&#xff0c;导致重复建了好几个。 如何解决&#xff1f; 使用Wi…

链路追踪详解(三):分布式链路追踪标准的演进

目录 Google Dapper Twitter Zipkin Uber Jaeger OpenTracing 和 OpenCensus OpenTelemetry 小结 分布式链路追踪是现代云计算和微服务架构中一个关键技术&#xff0c;可以让开发者和运维团队理解和监控服务请求在复杂系统中的完整流转路径。分布式链路追踪技术的发展经历…