电商网站建设好么如何做解析网站
  文章目录
 - @[toc]
 - 试题编号
 - 试题名称
 - 时间限制
 - 内存限制
 - 题目背景
 - 问题描述
 - 输入格式
 - 输出格式
 - 样例输入
 - 样例输出
 - 样例说明
 - 子任务
 - 提示
 - `Python`实现
 
 
 
 
 
文章目录
- @[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 n≤100
 
提示
- 判断重复局面仅涉及字符串比较,无需考虑国际象棋实际行棋规则
 
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] += 1for i in res:print(i)
 
