#include <string>
#include<iostream>
using namespace std;
class qiju{
public:
string d="----------";
char a[7];
char b[7];
char c[7];
void dy();
void xiug();
void yiug();
void chushi();
int panduan();
};
void qiju::dy(){
int i;
cout<<d<<endl;
for(i=0;i<7;i++){ cout<<a[i];}
cout<<endl;
cout<<d<<endl;
for(i=0;i<7;i++){ cout<<b[i];}
cout<<endl;
cout<<d<<endl;
for(i=0;i<7;i++){ cout<<c[i];}
cout<<endl;
cout<<d<<endl;
}
void qiju::chushi(){
a[0]='|';a[1]=' ';a[2]='|';a[3]=' ';a[4]='|';a[5]=' ';a[6]='|';
b[0]='|';b[1]=' ';b[2]='|';b[3]=' ';b[4]='|';b[5]=' ';b[6]='|';
c[0]='|';c[1]=' ';c[2]='|';c[3]=' ';c[4]='|';c[5]=' ';c[6]='|';
}
void qiju::xiug(){
int j,k;
cout<<"Enter a row(0,1,2)for player X;)"<<endl;
cin>>j;
cout<<"Enter a column(0,1,2)for player X:"<<endl;
cin >>k;
if(j==0&&k==0){a[1]='X';}
if(j==0&&k==1){a[3]='X';}
if(j==0&&k==2){a[5]='X';}
if(j==1&&k==0){b[1]='X';}
if(j==1&&k==1){b[3]='X';}
if(j==1&&k==2){b[5]='X';}
if(j==2&&k==0){c[1]='X';}
if(j==2&&k==1){c[3]='X';}
if(j==2&&k==2){c[5]='X';}
}
void qiju::yiug(){
int j,k;
cout<<"Enter a row(0,1,2)for player 0;)"<<endl;
cin>>j;
cout<<"Enter a column(0,1,2)for player 0:"<<endl;
cin >>k;
if(j==0&&k==0){a[1]='0';}
if(j==0&&k==1){a[3]='0';}
if(j==0&&k==2){a[5]='0';}
if(j==1&&k==0){b[1]='0';}
if(j==1&&k==1){b[3]='0';}
if(j==1&&k==2){b[5]='0';}
if(j==2&&k==0){c[1]='0';}
if(j==2&&k==1){c[3]='0';}
if(j==2&&k==2){c[5]='0';}
}
int qiju::panduan(){
if(a[1]=='X'&&a[3]=='X'&&a[5]=='X'||
b[1]=='X'&&b[3]=='X'&&b[5]=='X'||
c[1]=='X'&&c[3]=='X'&&c[5]=='X'||
a[1]=='X'&&b[3]=='X'&&c[5]=='X'||
a[5]=='X'&&b[3]=='X'&&c[1]=='X')
{
cout<<"X play won"<<endl;
return 1;
}
if(a[1]=='0'&&a[3]=='0'&&a[5]=='0'||
b[1]=='0'&&b[3]=='0'&&b[5]=='0'||
c[1]=='0'&&c[3]=='0'&&c[5]=='0'||
a[1]=='0'&&b[3]=='0'&&c[5]=='0'||
a[5]=='0'&&b[3]=='0'&&c[1]=='0')
{
cout<<"0 play won"<<endl;
return 1;
}
}
int main(){
qiju q1;
q1.chushi();
q1.dy();
while(1){
q1.xiug();
q1.dy();
q1.yiug();
q1.dy();
if(q1.panduan()==1)break;
}
return 0;
}