这道题是无解的,我通过程序计算得来的,用PHP写的代码如下
$next_node){
if( $next_node44 || $next_node==1 || $next_node%10>4) {
unset($next_nodes[$key]);
}
}
return $next_nodes;
}
$nextNodes = array();
//得到所有的次节点
foreach ($nodes as $rownum => $cols){
foreach($cols as $colnum => $node){
$nextNodes[$rownum][$colnum] = nextNodes($node);
}
}
unset($nextNodes[0][1]);
function connect($routes){
global $nextNodes;
$new_routes = array();
$i = 0;
foreach ($routes as $route){
$current = end($route);
$next_nodes = $nextNodes[floor($current/10)][floor($current%10)];
foreach($next_nodes as $key => $node){
if(!in_array($node, $route)){
$new_routes[$i] = $route;
$new_routes[$i][] = $node;
$i++;
}
}
}
return $new_routes;
}
$node = 0;
foreach($nodes as $rownum => $rows) {
foreach($rows as $colnum => $node){
echo "\n\n";
if($node == 1) continue;
$times = 2;
$routes = array(array($node));
while($times $route){
echo implode($route, '--')."\n";
}
$times++;
}
else {
echo "起始点为{$node}的{$times}个连接点的线没有\n";
break;
}
}
}
}
运行结果:
起始点为0的24个连接点的线没有
起始点为2的24个连接点的线没有
起始点为3的23个连接点的线没有
起始点为4的24个连接点的线没有
起始点为10的23个连接点的线没有
起始点为11的24个连接点的线没有
起始点为12的23个连接点的线没有
起始点为13的24个连接点的线没有
起始点为14的23个连接点的线没有
起始点为20的24个连接点的线没有
起始点为21的23个连接点的线没有
起始点为22的24个连接点的线没有
起始点为23的23个连接点的线没有
起始点为24的24个连接点的线没有
起始点为30的23个连接点的线没有
起始点为31的24个连接点的线没有
起始点为32的23个连接点的线没有
起始点为33的24个连接点的线没有
起始点为34的23个连接点的线没有
起始点为40的24个连接点的线没有
起始点为41的23个连接点的线没有
起始点为42的24个连接点的线没有
起始点为43的23个连接点的线没有
起始点为44的24个连接点的线没有
$next_node){
if( $next_node44 || $next_node==1 || $next_node%10>4) {
unset($next_nodes[$key]);
}
}
return $next_nodes;
}
$nextNodes = array();
//得到所有的次节点
foreach ($nodes as $rownum => $cols){
foreach($cols as $colnum => $node){
$nextNodes[$rownum][$colnum] = nextNodes($node);
}
}
unset($nextNodes[0][1]);
function connect($routes){
global $nextNodes;
$new_routes = array();
$i = 0;
foreach ($routes as $route){
$current = end($route);
$next_nodes = $nextNodes[floor($current/10)][floor($current%10)];
foreach($next_nodes as $key => $node){
if(!in_array($node, $route)){
$new_routes[$i] = $route;
$new_routes[$i][] = $node;
$i++;
}
}
}
return $new_routes;
}
$node = 0;
foreach($nodes as $rownum => $rows) {
foreach($rows as $colnum => $node){
echo "\n\n";
if($node == 1) continue;
$times = 2;
$routes = array(array($node));
while($times $route){
echo implode($route, '--')."\n";
}
$times++;
}
else {
echo "起始点为{$node}的{$times}个连接点的线没有\n";
break;
}
}
}
}
运行结果:
起始点为0的24个连接点的线没有
起始点为2的24个连接点的线没有
起始点为3的23个连接点的线没有
起始点为4的24个连接点的线没有
起始点为10的23个连接点的线没有
起始点为11的24个连接点的线没有
起始点为12的23个连接点的线没有
起始点为13的24个连接点的线没有
起始点为14的23个连接点的线没有
起始点为20的24个连接点的线没有
起始点为21的23个连接点的线没有
起始点为22的24个连接点的线没有
起始点为23的23个连接点的线没有
起始点为24的24个连接点的线没有
起始点为30的23个连接点的线没有
起始点为31的24个连接点的线没有
起始点为32的23个连接点的线没有
起始点为33的24个连接点的线没有
起始点为34的23个连接点的线没有
起始点为40的24个连接点的线没有
起始点为41的23个连接点的线没有
起始点为42的24个连接点的线没有
起始点为43的23个连接点的线没有
起始点为44的24个连接点的线没有