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;
}
原文地址:https://www.cnblogs.com/lanxiang/p/9029028.html