Pages

Saturday, June 2, 2012

10363 - Tic Tac Toe


//
// main.cpp
// 10363 - Tic Tac Toe
//
// Created by Panks on 28/05/12.
// Copyright (c) 2012 __MyCompanyName__. All rights reserved.
//

#include <iostream>
#include <algorithm>
#include <cstdio>
using namespace std;
int main (int argc, const char * argv[])
{

// insert code here...
int t;
string row1, row2, row3;
cin>>t;
while (t--) {
bool xwin=0;
bool owin=0;
getchar();
getline(cin, row1);
getline(cin, row2);
getline(cin, row3);
long int countx=0, counto=0;
countx=count(row1.begin(), row1.end(), 'X')+count(row2.begin(), row2.end(), 'X')+count(row3.begin(), row3.end(), 'X');
counto=count(row1.begin(), row1.end(), 'O')+count(row2.begin(), row2.end(), 'O')+count(row3.begin(), row3.end(), 'O');


if (count(row1.begin(), row1.end(), 'X')==3||count(row2.begin(), row2.end(), 'X')==3||count(row3.begin(), row3.end(), 'X')==3) {
xwin=true;
}
if ((row1[0]=='X'&&row2[0]=='X'&&row3[0]=='X') || (row1[1]=='X'&&row2[1]=='X'&&row3[1]=='X') || (row1[2]=='X'&&row2[2]=='X'&&row3[2]=='X')) {
xwin=true;
}
if ((row1[2]=='X'&&row2[1]=='X'&&row3[0]=='X') || (row1[0]=='X'&&row2[1]=='X'&&row3[2]=='X')) {
xwin=true;
}


if (count(row1.begin(), row1.end(), 'O')==3||count(row2.begin(), row2.end(), 'O')==3||count(row3.begin(), row3.end(), 'O')==3) {
owin=true;
}
if ((row1[0]=='O'&&row2[0]=='O'&&row3[0]=='O') || (row1[1]=='O'&&row2[1]=='O'&&row3[1]=='O') || (row1[2]=='O'&&row2[2]=='O'&&row3[2]=='O')) {
owin=true;
}
if ((row1[2]=='O'&&row2[1]=='O'&&row3[0]=='O') || (row1[0]=='O'&&row2[1]=='O'&&row3[2]=='O')) {
owin=true;
}


if(countx>counto+1){
cout<<"no\n";
}else if (counto>countx) {
cout<<"no\n";
}else if(xwin==true && owin==true){
cout<<"no\n";
}else if(owin==true&&counto<countx){
cout<<"no\n";
}else if(xwin==true&&counto>=countx){
cout<<"no\n";
}else
cout<<"yes\n";
}
return 0;
}


No comments:

Post a Comment