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...
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 = ...