ccfcsp3001重复局面

发布于:2025-03-21 ⋅ 阅读:(22) ⋅ 点赞:(0)

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*

//重复局面
#include<iostream>
using namespace std;
int main(){
	int n;
	cin>>n;
	char a[n][64];
	for(int i=0;i<n;i++){
		for(int j=0;j<64;j++){
			cin>>a[i][j];
		}
	}
	int b[n];
	for(int i=0;i<n;i++){
		b[i]=1;
	} //默认为第一次出现 
	for(int i=1;i<n;i++){
		for(int j=0;j<i;j++){
			bool flag=true;//默认重复 
			for(int k=0;k<64;k++){
				if(a[i][k]!=a[j][k]){
					flag=false;//只要有一个不同,就不重复 
					break;//本次循环结束,跳出最内层循环,外两层循环继续
				}
			}
			if(flag){//重复则+1
				b[i]++;
			}
		}
	}
	for(int i=0;i<n;i++){
		cout<<b[i]<<endl;
	} 
	return 0;
}