2020-05-27

int main(void)
{   Stack rowStack;   int qRow, qCol, col, row, attacked, exitLoop;   Board myBoard;   cout << "Enter the position of the first queen\nRow: " << flush;   cin >> qRow;   cout << "Column: " <<  flush;   cin >> qCol;        //第一个皇后位置   
myBoard.PlaceQueen(qRow,qCol);   if (qCol == 0)     col = 1;   else      col = 0;      row = 0;   do    {      while(row < 8)  //超界     
 {         exitLoop = 0;         if (!(attacked = myBoard.isAttacked(row,col)))   //若无皇后,条件成立       
   {	    myBoard.PlaceQueen(row,col);	  //放皇后	  	   
    rowStack.Push(row);             //入栈		    	  
      row = 0;		    	    col++;		    	    if (col == qCol)	    col++;            exitLoop = 1;         }	        	 if (exitLoop)    	 break;    //找到退出本层循环      	
       else  row++;      // 到下一行      
}         
         if (col == 8)      {                myBoard.Print();         row = 8;           }       col--;      //到前一列       
           if (col == qCol)	    col--;         myBoard.RemoveQueen(row,col);   //移去皇后        
            row++;  //找下一个位置      
           }     }
            while(col>=0); //回到0列	 
          
            return 1;}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值