q*******i 发帖数: 353 | 1 15puzzle有16!不同状态,每个状态都保存在hashMap中,一个key(
double)对应一个puzzle状态(object)。这个key的值应该怎么设置,用什么方法计
算,才能使key和puzzle状态一一对应。
我现在是这样做的,数组a[4][4], key=a[0,0]*2^0+a[0,1]*2^1+...+a[3,3]*2^
15
但这样做不对,部分不同的puzzle状态计算出来的key是相同的。
请教大家下有什么方法吗?谢谢! | h******k 发帖数: 810 | 2 用string做key, 字符"A-P"表示状态。
比如"ABCDEFGHIJKLMNOP"表示puzzle处于如下状态:
ABCD
EFGH
IJKL
MNOP
【在 q*******i 的大作中提到】 : 15puzzle有16!不同状态,每个状态都保存在hashMap中,一个key( : double)对应一个puzzle状态(object)。这个key的值应该怎么设置,用什么方法计 : 算,才能使key和puzzle状态一一对应。 : 我现在是这样做的,数组a[4][4], key=a[0,0]*2^0+a[0,1]*2^1+...+a[3,3]*2^ : 15 : 但这样做不对,部分不同的puzzle状态计算出来的key是相同的。 : 请教大家下有什么方法吗?谢谢!
| q*******i 发帖数: 353 | 3 谢谢啦。
【在 h******k 的大作中提到】 : 用string做key, 字符"A-P"表示状态。 : 比如"ABCDEFGHIJKLMNOP"表示puzzle处于如下状态: : ABCD : EFGH : IJKL : MNOP
|
|