- 字母棋
题目
- @ 2026-9-6 22:01:49
#include<bits/stdc++.h>
using namespace std;
char a[10][10];
int x[1000];
int main(){
cin>>a[1][1]>>a[1][2]>>a[1][3];
cin>>a[2][1]>>a[2][2]>>a[2][3];
cin>>a[3][1]>>a[3][2]>>a[3][3];
int s=0,k=0;
for(int i=1;i<=3;i++){
int t=1;
for(int j=2;j<=3;j++){
if(a[i][j]!=a[i][j-1]){
t=0;
break;
}
}
if(t==1)s++;
}
for(int i=1;i<=3;i++){
int p=0;
x[a[i][1]]=0,x[a[i][2]]=0,x[a[i][3]]=0;
for(int j=1;j<=3;j++){
x[a[i][j]]++;
if(x[a[i][j]]==1)p++;
}
if(p==2)k++;
}
for(int i=1;i<=3;i++){
int t=1;
for(int j=2;j<=3;j++){
if(a[j][i]!=a[j-1][i]){
t=0;
break;
}
}
if(t==1)s++;
}
for(int i=1;i<=3;i++){
int p=0;
x[a[i][1]]=0,x[a[i][2]]=0,x[a[i][3]]=0;
for(int j=1;j<=3;j++){
x[a[j][i]]++;
if(x[a[j][i]]==1)p++;
}
if(p==2)k++;
}
int t=1;
for(int i=2,j=2;i<=3;i++,j++){
if(a[i][j]!=a[i-1][j-1]){
t=0;
break;
}
}
if(t==1)s++;
t=1;
int p=0;
x[a[1][1]]=0,x[a[2][2]]=0,x[a[3][3]]=0;
for(int i=1,j=1;i<=3;i++,j++){
x[a[i][j]]++;
if(x[a[i][j]]==1)p++;
}
if(p==2)k++;
for(int i=2,j=2;i<=3;i++,j--){
if(a[i][j]!=a[i-1][j+1]){
t=0;
break;
}
}
p=0;
x[a[1][1]]=0,x[a[2][2]]=0,x[a[3][3]]=0;
for(int i=1,j=1;i<=3;i++,j--){
x[a[i][j]]++;
if(x[a[i][j]]==1)p++;
}
if(p==2)k++;
if(t==1)s++;
cout<<s<<endl;
cout<<k;
return 0;
}
0 条评论
目前还没有评论...
信息
- ID
- 5927
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- 递交数
- 6
- 已通过
- 4
- 上传者