# Poj Solution 2361

```http://poj.org/problem?id=2361

/* @author: */
import java.util.Scanner;
public class Main{
public static void main(String args[])
{
char cc[][]=new char;
Scanner sc=new Scanner(System.in);

int n,i,j;
n=sc.nextInt();
while((n--)!=0)
{
for(i=0;i< 3;i++)
cc[i]=sc.next().toCharArray();

int x=0,o=0;
boolean xw=false,ow=false;
boolean bb=true;
for(i=0;i< 3;i++)
for(j=0;j< 3;j++)
{
if(cc[i][j]=='X')x++;
else if(cc[i][j]=='O')o++;
}
if(x-o>1||x< o)bb=false;
for(i=0;i< 3;i++)
{
boolean tt=true;
for(j=0;j< 2;j++)
{
if(cc[i][j]!=cc[i][j+1])
{
tt=false;
break;
}

}
if(tt)
{
if(cc[i]=='X')xw=true;
else if(cc[i]=='O')ow=true;
}
}

for(j=0;j< 3;j++)
{
boolean  tt=true;
for(i=0;i< 2;i++)
{
if(cc[i][j]!=cc[i+1][j])
{
tt=false;
break;
}
}
if(tt)
{
if(cc[j]=='X')xw=true;
else if(cc[j]=='O')ow=true;
}
}
if(cc==cc&&cc==cc&&cc=='X')xw=true;
else if(cc==cc&&cc==cc&&cc=='O')ow=true;
if(cc==cc&&cc==cc&&cc=='X')xw=true;
else if(cc==cc&&cc==cc&&cc=='O')ow=true;
if(ow&&xw) bb=false;
else if(ow&&x!=o)bb=false;
else if(xw&&x==o)bb=false;
if(bb) System.out.println("yes");
else System.out.println("no");
}
}
}
```
This entry was posted in poj. Bookmark the permalink.