题解 | #井字棋#
井字棋
https://www.nowcoder.com/practice/0375c1d206ef48a3894f72aa07b2fdde
#include <iostream> using namespace std; int main() { char a[3][3]; for(int i=0;i<3;i++) { for(int j=0;j<3;j++) { cin>>a[i][j]; } } bool flag1=false,flag2=false; for(int i=0;i<3;i++) { if(a[i][0]=='K'&&a[i][1]=='K'&&a[i][2]=='K') { flag1=true; } else if(a[i][0]=='B'&&a[i][1]=='B'&&a[i][2]=='B') { flag2=true; } } for(int i=0;i<3;i++) { if(a[0][i]=='K'&&a[1][i]=='K'&&a[2][i]=='K') { flag1=true; } else if(a[0][i]=='B'&&a[1][i]=='B'&&a[2][i]=='B') { flag2=true; } } if(a[0][0]=='K'&&a[1][1]=='K'&&a[2][2]=='K'||a[2][0]=='K'&&a[1][1]=='K'&&a[0][2]=='K') { flag1=true; } else if(a[0][0]=='B'&&a[1][1]=='B'&&a[2][2]=='B'||a[2][0]=='B'&&a[1][1]=='B'&&a[0][2]=='B') { flag2=true; } if(flag1) { cout<<"KiKi wins!"; } else if(flag2) { cout<<"BoBo wins!"; } else { cout<<"No winner!"; } } // 64 位输出请用 printf("%lld")
记得对角线有两条