#include<bits/stdc++.h>
 using namespace std;
 char a[10][10];
 int x,y,f;
 bool judge(int yy,int xx)
 {
 int c=yy,d=xx;
 for(int i=1;i<=4;i++)
 {
 if(a[c][d]!=a[++c][d]) break;
 if(i==4) return false;
 } 
 c=yy,d=xx;
 for(int i=1;i<=4;i++)
 {
 if(a[c][d]!=a[--c][d]) break;
 if(i==4) return false;
 } 
 c=yy,d=xx;
 for(int i=1;i<=4;i++)
 {
 if(a[c][d]!=a[c][++d]) break;
 if(i==4) return false;
 } 
 c=yy,d=xx;
 for(int i=1;i<=4;i++)
 {
 if(a[c][d]!=a[c][--d]) break;
 if(i==4) return false;
 } 
 c=yy,d=xx;
 for(int i=1;i<=4;i++)
 {
 if(a[c][d]!=a[--c][--d]) break;
 if(i==4) return false;
 } 
 c=yy,d=xx;
 for(int i=1;i<=4;i++)
 {
 if(a[c][d]!=a[++c][++d]) break;
 if(i==4) return false;
 } 
 c=yy,d=xx;
 for(int i=1;i<=4;i++)
 {
 if(a[c][d]!=a[++c][--d]) break;
 if(i==4) return false;
 } 
 c=yy,d=xx;
 for(int i=1;i<=4;i++)
 {
 if(a[c][d]!=a[--c][++d]) break;
 if(i==4) return false;
 } 
 c=yy,d=xx;
 return true;
 }
 void make()
 {
 system("cls");
 cout<<" ";
 for(int i=1;i<=9;i++) cout<<" "<<i;
 cout<<endl;
 for(int i=1;i<=9;i++)
 {
 cout<<" ";
 for(int j=1;j<=19;j++) cout<<"_";
 cout<<endl;
 cout<<i;
 for(int k=1;k<=9;k++)
 cout<<"|"<<a[i][k];
 cout<<"|"<<endl;
 }
 cout<<" ";
 for(int j=1;j<=19;j++) cout<<"_";
 cout<<endl;
 return;
 }
 int main()//made by Tombaugh
 {
 for(int i=0;i<=10;i++)
 for(int j=0;j<=10;j++)
 a[i][j]=' ';
 make();
 do
 {
 if(++f%2==1) cout<<"玩家一请输入你要下的坐标:"<<endl;
 else cout<<"玩家二请输入你要下的坐标:"<<endl;
 cin>>x>>y;
 while(x<1||x>9||y<1||y>9) cout<<"坐标不合法"<<endl,cin>>x>>y; 
 while(a[y][x]!=' ') cout<<"此位置已有棋"<<endl,cin>>x>>y; 
 if(f%2==1) a[y][x]='X';
 else a[y][x]='O';
 make();
 }while(judge(y,x));
 if(f%2==1) cout<<"游戏结束,玩家一获胜";
 else cout<<"游戏结束,玩家二获胜";
 return 0;
 }