题目:
https://www.luogu.org/problem/show?pid=2210
这是个好题;
虽然
暴力=65分
暴力+卡时=92分……
思路:
显然,我们可以用全排列+统计来解决这个问题;
但是:n!* n * 3的复杂度难以承受的;
12! * 12 * 3=17244057600;
我们考虑剪枝与优化;
可以转化状态;
pos[i]:第i头奶牛的位置;
这样,我们可以边搜,边统计答案,
12!*3=1437004800
常数太大,还是不够优;
考虑剪枝:
因为本题不存在不合法的情况;
所以只能加最优化剪枝;
我们可以应用A*的思想;
x:第x位;
nowtot:当前总距离;
links:已经访问的所有奶牛中,有多少路线没有找到,(即某奶牛的朋友还没有找到);
remain:已经访问的所有奶牛中,没有找到的路线的长度总和,(是当前,并不是所有,当前就已经够了);
因为每条路