ACM-Team Tic Tac Toe
我的代码:
#include <bits/stdc++.h>
using namespace std;
int main()
{
char a[3][3];
int i,j=0;
for(i=0;i<3;i++){
for(j=0;j<3;j++){
cin>>a[i][j];
}
}
int count1,count2;
int len1,len2;
len1=len2=0;
char b[50],c[2][50];
count1=count2=0;
for( i=0;i<3;i++ )
{
if(a[i][0]==a[i][1]&&a[i][1]==a[i][2]){
b[j++]=a[i][0];
}
if(a[0][i]==a[1][i]&&a[1][i]==a[2][i]){
b[j++] = a[0][i];
}
}
if(a[0][0]==a[1][1]&&a[1][1]==a[2][2]){
b[j++]=a[0][0];
}
if(a[0][2]==a[1][1]&&a[1][1]==a[2][0]){
b[j++]=a[0][2];
}
len1 = j;
for(i=0;i<len1;i++){
for(j=i+1;j<len1;j++){
if(b[i]==b[j]){
b[j]='1';
}
}
}
j=0;
for(i=0;i<len1;i++){
if('A'<=b[i]&&b[i]<='Z')count1++;
}
for( i=0;i<3;i++ )
{
if(a[i][0]==a[i][1]&&a[i][0]!=a[i][2]) {
c[0][j] = a[i][0];
c[1][j++] = a[i][2];
}
if( a[i][1]==a[i][2]&&a[i][2]!=a[i][0] ){
c[0][j] = a[i][1];
c[1][j++] = a[i][0];
}
if( a[i][0]==a[i][2]&&a[i][2]!=a[i][1] ){
c[0][j] = a[i][0];
c[1][j++] = a[i][1];
}
if(a[0][i]==a[1][i]&&a[0][i]!=a[2][i]){
c[0][j] = a[0][i];
c[1][j++] = a[2][i];
}
if( a[1][i]==a[2][i]&&a[2][i]!=a[0][i] ){
c[0][j] = a[1][i];
c[1][j++] = a[0][i];
}
if( a[0][i]==a[2][i]&&a[2][i]!=a[1][i] ){
c[0][j] = a[0][i];
c[1][j++] = a[1][i];
}
}
if(a[0][0]==a[1][1]&&a[1][1]!=a[2][2]){
c[0][j] = a[0][0];
c[1][j++] = a[2][2];
}
if(a[1][1]==a[2][2]&&a[2][2]!=a[0][0]) {
c[0][j] = a[1][1];
c[1][j++] = a[0][0];
}
if(a[0][0]==a[2][2]&&a[2][2]!=a[1][1]) {
c[0][j] = a[0][0];
c[1][j++] = a[1][1];
}
if(a[0][2]==a[1][1]&&a[1][1]!=a[2][0]){
c[0][j] = a[1][1];
c[1][j++] = a[2][0];
}
if(a[1][1]==a[2][0]&&a[1][1]!=a[0][2]) {
c[0][j] = a[1][1];
c[1][j++] = a[0][2];
}
if(a[0][2]==a[2][0]&&a[0][2]!=a[1][1]) {
c[0][j] = a[0][2];
c[1][j++] = a[1][1];
}
len2 = j;
for(i=0;i<len2;i++){
for(j=i+1;j<len2;j++){
if((c[0][i]==c[0][j]&&c[1][i]==c[1][j])||(c[0][i]==c[1][j]&&c[1][i]==c[0][j])){
c[0][j]='1';
c[1][j]='1';
}
}
}
j=0;
for(i=0;i<len2;i++){
if('A'<=c[0][i]&&c[0][i]<='Z')count2++;
}
cout<<count1<<endl<<count2;
}