是否可以检查15拼图在其他进球状态下是否可解决?

时间:2019-04-01 11:53:07

标签: java 8-puzzle

因此,我有一个随机的15谜题,或任何宽度均匀的N谜题,而且我也有一个随机的目标状态。也就是说,空白图块和其他图块也被随机放置。

我能够检查15个拼图是否可以解决,其标准目标状态是在右下角有瓷砖并有空白,但是将目标状态随机化似乎比标准8个难题更加棘手。

>

示例:

Start State
8    4    1   6
11   2    3   10
15   12   0   9
14   5    7   13

Goal State:
11   4    1   0
8    2    3   10
5    15   6   9
12   9    7   13

标准的15拼图可解性规则是:

  

如果宽度为奇数,则每个可解状态的反演次数均为偶数。

     

如果宽度为均匀,则每个可解状态都具有

     
      
  • 如果空白在奇数行上,则反转数为偶数   从底部开始计数;

  •   
  • 如果空白在偶数行上,则反转的数量为奇数   从底部开始计数;

  •   

1 个答案:

答案 0 :(得分:0)

我认为不同的目标不会对可溶解性产生任何影响。

我能想到的最简单的解决方案是将自定义目标状态下的数字映射到标准目标状态下的数字。例如:对于第一行,您将$args = array( 'post_type' => 'ignition_product', 'posts_per_page' => $project_count, 'orderby' => 'meta_value_num', 'order' => 'ASC', 'meta_key' => '__end_date', 'paged' => $paged, 'meta_query' => array(// WordPress has all the results, now, return only the events after today's date array( 'key' => '__end_date', // Check the start date field 'value' => strtotime('today'), // Set today's timestamp 'compare' => '>=', // Return the ones greater than today's date 'type' => 'NUMERIC' ) )); 视为110-> 41-> 1,{ {1}}-> 2,依此类推。