实现一个能够演示解决重排九宫问题的小软件。要求用3种不同方法解决同一个问题,软件自动产生不同的初始状态和目标状态,然后能够给出每一个搜索步骤,最后标示出完整的解路径,并指明是否为最优解。