骑士游历问题【JAVA板】代码详细流

本文介绍了骑士游历问题的解决方案,通过选择行走方向最少的格子,逐步遍历棋盘。首先解析8x8棋盘上每个格子的可行方向,然后展示了一个非完整代码示例。接着提供了一个经过改进并带有注释的正式JAVA代码,该代码可在开发平台上运行完成骑士游历的计算。
摘要由CSDN通过智能技术生成

先说明一下算法问题,在棋盘上,要怎么选择行走的方向才能遍历整个棋盘呢。简单来说,就是选择一个在选择了它之后它的下一步可选方向最少的那一个方向。总体上就是先选择比较困难的路来走,将比较简单的路线留到后面再走。
那么接下来我们先来看看一个8x8的棋盘上每个格子的可走方向来理解一下这个算法。
先上代码。(注意!下面这个代码不是用来解决骑士游历问题的

`public class Bushu {
	 private  boolean ac(int[][] board) {
	int[] movex = { -2, -1, 1, 2,  2,  1, -1, -2 };
    int[] movey = {  1,  2, 2, 1, -1, -2, -2, -1 };
int i = 0;
int j = 0;
int temJ = 0;
int temI=0;
for(i=0;i<board.length;i++)
		{for(j=0;j<board.length;j++) {
		int count=0;
for(int k=0;k<=7;k++)
{temI			=i+movex[k];
temJ		    =j+movey[k];
		
if (temI < 0 || temI > 7 || temJ < 0 || temJ > 7) {
	        continue;
	    }
		else {
 
        count++;
        board[i][j]=count;}
    }
	}
	}
return true;
 }
 public static void main(String[] args) {
        int[][] board = new 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值