简介:本篇文章将详细解析CCF-CSP真题《202305-1 重复局面》的解题思路,并提供Python、C++和Java的满分实现。通过阅读本文,您将掌握解决此类问题的关键技巧,并提升算法和数据结构的应用能力。 即刻调用文心一言能力 开通百度智能云千帆大模型平台服务自动获取1000000+免费tokens 立即体验 首先,让我们来分析一下这个问题的...
private: char chess[8][8]; public: friend bool beTheSame(Step a, Step b); friend istream& operator>>(istream& input, Step& s); char* operator[](int index) { return chess[index]; } }; bool beTheSame(Step a, Step b) { for (int i = 0; i < 8; i++) for (int j = ...
CSP 202305-1 重复局面 题目背景 国际象棋在对局时,同一局面连续或间断出现3次或3次以上,可由任意一方提出和棋。 问题描述 国际象棋每一个局面可以用大小为 8×8 的字符数组来表示,其中每一位对应棋盘上的一个格子。六种棋子王、后、车、象、马、兵分别用字母k、q、r、b、n、p表示,其中大写字母对应白方、...
CSP题解|202305-1 重复局面|100分 #include <bits/stdc++.h> using namespace std; int main(){ int n;cin>>n; map<string,int>mp; while(n--){ //n为步数 int row=8; string s=""; while(row--){ string temp; cin>>temp; s+=temp; } if(mp.find(s)==mp.end()){ cout<<1<<en...
istream& operator>>(istream& input, Step& s) { for (int i = 0; i < 8; i++) { for (int j = 0; j < 8; j++) { input >> s.chess[i][j]; } } return input; } int main() { int n; cin >> n; Step* step = new Step[n]; ...