題目:https://onlinejudge.org/index.php?option=onlinejudge&Itemid=8&page=show_problem&problem=2153
https://vjudge.net/problem/UVA-11212
使用IDA*(Iterative deepening A*)演算法
使用相鄰兩數不符合後面比前面大1的個數,加上最後一個不是n的個數,當成H函式(樂觀估價函式)。
任何一次的剪下與貼上,最多能讓3個後面比前面大1的改變,
例如:將區間C剪下,插入到區間A的後面,如下,
(1)區段A的最後一個元素,後面改成區段C的開頭元素
(2)區段C的最後一個元素,後面改成區段B的開頭元素
(3)區段B的最後一個元素,後面改成區段D的開頭元素
[...A...][...B...][...C...][...D...] => [...A...]*[...C...]*[...B...]*[...D...]
所以使用d(目前深度)+H/3>maxd(最大深度)進行剪枝,以目前深度無法在最大深度找到答案