90pts,啊??!!大佬求调!!!
查看原帖
90pts,啊??!!大佬求调!!!
998650
OTH_chinese_dragon楼主2024/8/13 09:55
#include<bits/stdc++.h>
using namespace std;
char a[1010][1010];
bool ans[1010],ans2[1010][1010];
void check(char a, char b,char c){
	int a1=a-'A'+1,a2=b-'A'+1,a3=c-'A'+1; 
	if(a==b&&b==c) ans[a1]=true;
	else if(a==b) ans2[a1][a3]=ans2[a3][a1]=true;
	else if(b==c) ans2[a3][a2]=ans2[a2][a3]=true;
	else if(a==c) ans2[a1][a3]=ans2[a3][a1]=true;
}
int main(){
	for(int i=1; i<=3; i++){
		for(int j=1; j<=3; j++){
			cin>>a[i][j];
		}
	}
	check(a[1][1],a[1][2],a[1][3]);//横排 
	check(a[2][1],a[2][2],a[2][3]);
	check(a[3][1],a[3][2],a[3][3]);
	
	check(a[1][1],a[2][1],a[3][1]);//竖排
	check(a[1][2],a[2][2],a[3][2]);
	check(a[1][3],a[2][3],a[3][3]); 
	
	check(a[1][1],a[2][2],a[3][3]);//左斜列 
	check(a[1][3],a[2][2],a[3][1]);//右斜列 
	
	int cnt1=0,cnt2=0;
	
	for(int i=1; i<=26; i++){
		if(ans[i]==true){
			cnt1++;
		}
	} 
	for(int i=1; i<=26; i++){
		for(int j=1; j<=26; j++){
			if(ans2[i][j]==true){
				cnt2++;
			}
		}
	}
	cout<<cnt1<<"\n"<<cnt2;
	return 0;
}

2024/8/13 09:55
加载中...