给定一个长度小于 12 的数组 要求排列方式的种数 使得相邻和为完全平方

不考虑数学结构 将问题转化为 一笔画问题 和为完全平方代表 之间存在通路

回溯法 N^N

记忆化搜索 N*N *2^N

  • 判断是否是完全平方 int(x0.5+0.5)2 ==x
  • 对于函数使用 functools.lru_cache(None) 关闭lru功能 记忆化搜索的简洁形式
  • 最后因为这个不区分相同的数字(需要除掉相应的阶乘