原文链接www.cnblogs.com/zhouzhendong/p/AGC030F.html 草率题解 对于每两个相邻位置,把他们拿出来. 如果这两个相邻位置都有确定的值,那么不管他. 然后把所有的这些数拿出来,分为两类,一类是没有被填入的,一类是被填入的. 然后大力DP即可.由于没有被填入的可以任意排列,所以最后还要乘上一个阶乘. 代码 #include <bits/stdc++.h> #define clr(x) memset(x,0,sizeof x) #define For(i,a,…