轮廓线插头DP. 设$f[i][j][a][b][c][d][e]$表示考虑到了$(i,j)$,轮廓线上3个下插头的位置分别为$a,b,c$,是否有右插头,已经放了$e$个$L$的方案数. 然后直接DP即可. 时间复杂度$O(nm^4)$. #include<cstdio> const int N=33,M=4530; int n,m,cnt,o,i,j,k,x,id[N][N][N];long long f[2][M][2][4];char a[N]; struct P{int a,b,c;…