#include <cstdio> #include <cstdlib> #include <windows.h> using namespace std; void init_wel(); int bla=1,whr,x,y,poi_ch[20][20]; int Map(); int put_ch(int m,int n); int judge(); int main() { memset(poi_ch,0,sizeof(poi_ch)); init_wel(); Map(); while(1) { whr=1; scanf("%d%d",&x,&y); poi_ch[x][y]=put_ch(x,y); Map(); bla++; judge(); if(!whr) { memset(poi_ch,0,sizeof(poi_ch)); bla=1; Map(); } } return 0; } void init_wel() { for(int i=0; i<5; i++) printf(". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . \n"); printf(". . . . . . . . . . . . . . Hello. .Boys and Girls . . . . . . . . . . . . . . . . .\n"); for(int i=0; i<5; i++) printf(". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . \n"); system("pause"); } int Map() { system("cls"); for(int j=0; j<20; j++) { poi_ch[0][j]=j; printf("%5d",poi_ch[0][j]); } printf("\n"); for(int i=1; i<20; i++) { for(int j=0; j<20; j++) {

if(j==0)
        {
            poi_ch[i][0]=i;
            printf("%5d  ",poi_ch[i][0]);
        }
        else if (i>0&&j>0)
        {
            if(poi_ch[i][j]==0)
            {
                printf("  *  ");
            }
            if(poi_ch[i][j]==21)
            {
                printf("  @  ");
            }
            if(poi_ch[i][j]==22)
            {
                printf("  0  ");
            }
        }
    }
    printf("\n");
}
return 0;

} int put_ch(int m,int n) { if(bla%2==1&&poi_ch[m][n]==0) { poi_ch[m][n]=21; return poi_ch[m][n]; } else { if(poi_ch[m][n]==21) { bla--; return poi_ch[m][n]; } if(poi_ch[m][n]22) { bla--; return poi_ch[m][n]; } } if(bla%20&&poi_ch[m][n]==0) { poi_ch[m][n]=22; return poi_ch[m][n];

}
else
{
    if(poi_ch[m][n]==21)
    {
        bla--;
        return poi_ch[m][n];
    }
    if(poi_ch[m][n]==22)
    {
        bla--;
        return poi_ch[m][n];
    }
}
return 0;

} int judge() { for(int i=1; i<20; i++) { for(int j=1; j<20; j++) { if(poi_ch[i][j]==21&&poi_ch[i][j+1]==21&&poi_ch[i][j+2]==21&&poi_ch[i][j+3]==21&&poi_ch[i][j+4]==21) { whr=0; printf("白子胜\n"); system("pause"); break; } if(poi_ch[i][j]==22&&poi_ch[i][j+1]==22&&poi_ch[i][j+2]==22&&poi_ch[i][j+3]==22&&poi_ch[i][j+4]==22) { whr=0; printf("黑子胜\n"); system("pause"); break; } if(poi_ch[i][j]==21&&poi_ch[i+1][j]==21&&poi_ch[i+2][j]==21&&poi_ch[i+3][j]==21&&poi_ch[i+4][j]==21) { whr=0; printf("白子胜\n"); system("pause"); break; } if(poi_ch[i][j]==22&&poi_ch[i+1][j]==22&&poi_ch[i+2][j]==22&&poi_ch[i+3][j]==22&&poi_ch[i+4][j]==22) { whr=0; printf("黑子胜\n"); system("pause"); break; } if(poi_ch[i][j]==21&&poi_ch[i+1][j+1]==21&&poi_ch[i+2][j+2]==21&&poi_ch[i+3][j+3]==21&&poi_ch[i+4][j+4]==21) { whr=0; printf("白子胜\n"); system("pause"); break; } if(poi_ch[i][j]==22&&poi_ch[i+1][j-1]==22&&poi_ch[i+2][j-2]==22&&poi_ch[i+3][j-3]==22&&poi_ch[i+4][j-4]==22) { whr=0; printf("黑子胜\n"); system("pause"); break; } } } return 0; }