【CSP】202305-1_重复局面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)

相关推荐

  1. CSP202303-2_垦田计划Python实现

    2023-12-07 11:40:01       60 阅读
  2. CCF-CSP 202309-1 坐标变换(其一)

    2023-12-07 11:40:01       52 阅读
  3. CCF-CSP 202303-2 垦田计划

    2023-12-07 11:40:01       55 阅读
  4. CCF-CSP 202303-2 垦田计划

    2023-12-07 11:40:01       57 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-07 11:40:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-07 11:40:01       106 阅读
  3. 在Django里面运行非项目文件

    2023-12-07 11:40:01       87 阅读
  4. Python语言-面向对象

    2023-12-07 11:40:01       96 阅读

热门阅读

  1. Python高级数据结构——字典树(Trie)

    2023-12-07 11:40:01       66 阅读
  2. [数据库]阿里云postgres数据库备份恢复

    2023-12-07 11:40:01       68 阅读
  3. SQL 数据库语句- 创建和管理数据库

    2023-12-07 11:40:01       65 阅读
  4. Hive 安装部署

    2023-12-07 11:40:01       46 阅读
  5. Harmony OS (eTS语言)的起源和演进

    2023-12-07 11:40:01       56 阅读
  6. C++代码自动化

    2023-12-07 11:40:01       57 阅读
  7. Mac M1芯片安装es,kibana

    2023-12-07 11:40:01       64 阅读
  8. C# 串口通讯异步封装

    2023-12-07 11:40:01       71 阅读
  9. redis实现排行榜功能

    2023-12-07 11:40:01       66 阅读