CSP 202305-1 重复局面

2023-10-29

题目背景

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

问题描述

国际象棋每一个局面可以用大小为 8×8 的字符数组来表示,其中每一位对应棋盘上的一个格子。六种棋子王、后、车、象、马、兵分别用字母 kqrbnp 表示,其中大写字母对应白方、小写字母对应黑方。棋盘上无棋子处用字符 * 表示。两个字符数组的每一位均相同则说明对应同一局面。

现已按上述方式整理好了每步棋后的局面,试统计每个局面分别是第几次出现。

输入格式

从标准输入读入数据。

输入的第一行包含一个正整数 �,表示这盘棋总共有 � 步。

接下来 8×� 行,依次输入第 1 到第 � 步棋后的局面。具体来说每行包含一个长度为 8 的字符串,每 8 行字符串共 64 个字符对应一个局面。

输出格式

输出到标准输出中。

输出共 � 行,每行一个整数,表示该局面是第几次出现。

样例输入

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*

Data

样例输出

1
1
1
1
1
2
2
1

Data

样例说明

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

子任务

输入数据满足 �≤100。

提示

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

答题

就是判断字符串的重复出现次数,我把8x8的局面整合成一个64字符长的字符串,记录该字符串之前的出现次数就行 

#include <iostream>
using namespace std;
int main(){
    int step;
    cin>>step;
    string situation[step];
    for(int i=0;i<step;i++){
        string temp;
        int line=8;
        while(line--){
            cin>>temp;
            situation[i]+=temp;
        }
        int times=1;
        for(int j=0;j<i;j++){
            if(situation[j]==situation[i]){
                times++;
            }
        }
        cout<<times<<endl;
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CSP 202305-1 重复局面 的相关文章

随机推荐

  • 无法定位程序输入点于动态链接库怎么办

    在使用笔记本电脑的时候 如果操作不小心误删了某些文件 可能会导致无法定位程序 打开程序时会被提示无法定位程序输入点于动态链接库怎么办 今天 小编就把无法定位程序输入点于动态链接库的解决方法分享给大家 更多一键重装系统教程可参考小白系统网 解
  • OpenCV(三)——图像分割(二)

    目录 4 边缘检测 4 1 图像梯度的概念 4 2 模板卷积和梯度图的概念 4 3 梯度算子
  • KylinOS-Server定制制作属于自己的ISO镜像文件

    1 准备 镜像文件 Kylin Server 10 SP1 Release Build20 20210518 x86 64 iso 然后安装在服务器上 用来定制ISO的服务器 根据自己的需求选择安装 我这里选择的是GUI安装 2 安装制作I
  • 前端ps基本操作

    在还原设计时 我们需要使用 photoshop打开sd格式的设计 作为的工程师 我们不要太多的ps技巧 只需要了 一些简单的基本操作即可 1 alt 滚轮缩放放图片 2 空格 鼠标左健拖动图片 3 shift m切换选取工具 使用鼠标左键选
  • ApplicationListener--- Spring源码从入门到精通(二十九)

    上篇文章说了bean对象创建之前调用的两个方法 BeanDefinitionRegistryPostProcessor Spring源码从入门到精通 二十八 这篇文章主要介绍spring监听事件源码及实例解析 ApplicationList
  • 怎么在Windows下使用Makefile文件

    推荐阅读 virtio net 实现机制 一 图文并茂 浅析linux内核网络协议栈 linux bridge 深度解析linux内核模块编译makefile 前言 如果熟悉在Linux开发的话 肯定知道Makefile文件的用处 它给我们
  • react组件的三种定义方法、准确理解类组件函数组件以及使用方法

    文章目录 前言 类组件 通过function定义 通过class定义 函数组件 虚拟Dom分类 如何创建虚拟DOM jsx React createElement 前言 根据官方描述react组件分为函数组件和类组件 是否使用jsx是通过以
  • Hive 使用SQL统计出每个用户的累积访问次数

    我们有如下的用户访问数据 userId visitDate visitCount u01 2017 1 21 5 u02 2017 1 23 6 u03 2017 1 22 8 u04 2017 1 20 3 u01 2017 1 23 6
  • 阿里云服务器搭建hadoop2.7伪分布式环境

    零 写在前面 服务器 centos7 6 jdk1 8 hadoop2 7 这个其实没有什么影响 都可以参照这个教程进行搭建 一 防火墙设置 停止防火墙 systemctl stop firewalld service 禁止防火墙开机自启动
  • 外部中断0

    实验现象 下载程序后 操作 K3 按键使 D1 状态取反 接线说明 具体接线图可见开发攻略对应实验的 实验现象 章节 1 单片机 gt LED 交通灯模块 P20 gt D1 2 单片机 gt 独立按键模块 P32 gt K3 注意事项 i
  • 网桥、vlan、源目MAC地址的链路层处理

    一 链路层 在报文接收方向上 网卡驱动把接收到的数据按照其对应的链路层协议 如以太网 组装成报文 然后把它上交给链路层 接口是netif receive skb 至此网卡驱动的任务就结束了 报文交给链路层处理 在报文发送方向上 网卡驱动受链
  • 常用计算机维修方法有哪些,计算机常见硬件故障的诊断及其处理分析

    摘 要 计算机已经成为我们生活中不可缺少的一部分 但是使用过程中会遇到很多的硬件故障 导致计算机无法正常使用 这就要求我们对故障进行正确的诊断 判断问题的所在 进行处理 使计算机能够正常运转 关键词 计算机 硬件故障 诊断 处理 中图分类号
  • vue如何使用腾讯地图JavaScript API GL进行打点标记

    1 创建一个TMap js文件 export function TMap0 return new Promise function resolve reject window init function resolve window TMa
  • space quota exceeded for tablespace(表空间不足)

    space quota exceeded for tablespace 表空间不足 解决之道 方法一 测试成功 SQL gt alter user 用户 quota unlimited on 表空间名 User altered 方法二 SQ
  • 区块链七大应用场景

    一 应用场景 信息共享 这应该是区块链最简单的应用场景 就是信息互通有无 1 传统的信息共享的痛点 要么是统一由一个中心进行信息发布和分发 要么是彼此之间定时批量对账 典型的每天一次 对于有时效性要求的信息共享 难以达到实时共享 信息共享的
  • AndroidStudio apk安装失败总结

    失败 1 INSTALL FAILED DUPLICATE PERMISSION 1 1 具体信息 1 2 原因分析 1 3 解决方法 2 INSTALL FAILED USER RESTRICTED 2 1 具体信息 2 2 原因分析 3
  • USB3.2-Physical Layer---Link Initialization and Training

    这里写目录标题 Training sequences gen1 training sequence rule gen2 training sequence rule gen2 block Alignment Lane Polarity In
  • 使用for循环输出1-10之间的整数

    for i in range 1 11 print i
  • BS架构和CS架构的区别

    介绍 BS Browser Server 浏览器 服务器模式 web应用 可以实现跨平台 客户端零维护 但是个性化能力低 响应速度较慢 CS Client Server 客户端 服务器模式 桌面级应用 响应速度快 安全性强 个性化能力强 响
  • CSP 202305-1 重复局面

    题目背景 国际象棋在对局时 同一局面连续或间断出现3次或3次以上 可由任意一方提出和棋 问题描述 国际象棋每一个局面可以用大小为 8 8 的字符数组来表示 其中每一位对应棋盘上的一个格子 六种棋子王 后 车 象 马 兵分别用字母 k q r