最近在复习一些数据结构和经典算法
在写马的遍历问题时遇到了死循环,不知道问题出在哪里,下面是代码,请高手指点
//马的遍历
bool travelCells(int x,int y,vector<vector<int>>& cellsVV,vector<vector<int>>& passVV)
{
static int hasPassed = 0;
cellsVV[x][y] = 1;
hasPassed++;
if(64 == hasPassed)
return true;
int i,j;
i = x - 1;
j = y - 2;
if (i>=0 && j>=0 && cellsVV[i][j] == 0)
passVV[x*8+y].push_back(i*8+j);
i = x - 2;
j = y - 1;
if (i>=0 && j>=0 && cellsVV[i][j] == 0)
passVV[x*8+y].push_back(i*8+j);
i = x - 2;
j = y + 1;
if (i>=0 && j<8 && cellsVV[i][j] == 0)
passVV[x*8+y].push_back(i*8+j);
i = x - 1;
j = y + 2;
if (i>=0