编程题——井字棋
题目描述:
对于一个给定的井字棋棋盘,请设计一个高效算法判断当前玩家是否获胜。
给定一个二维数组board,代表当前棋盘,其中元素为1的代表是当前玩家的棋子,为0表示没有棋子,为-1代表是对方玩家的棋子。
本代码适用于所有n*n棋盘
程序代码如下:
#include <iostream>
#include <vector>
using namespace std;
/*四种情况可判断为玩家胜利,假设棋盘为row*row
*1.行全为1,即行和为row
*2.列全为1,即列和为row
*3.正对角全为1,即正对角和为row
*4.反对角全为1,即反对角和为row*/
class Board {
public:
bool checkWon(vector<vector<int> > board)
{
int row = board.size();
int i, j, sum;
//判断行和为row
for (i = 0; i < row; ++i)
<

该博客介绍了一种用于判断井字棋游戏中当前玩家是否获胜的高效算法。给定一个n*n棋盘的二维数组,其中1代表当前玩家棋子,0为空,-1代表对方棋子。代码实现能处理各种大小的棋盘,并展示了不同获胜情况的示例,包括第一行全1、第二列全1、正对角全1和反对角全-1的情况。
最低0.47元/天 解锁文章
982

被折叠的 条评论
为什么被折叠?



