加上元置换(必须加上),共(m+1)个置换
考虑每个置换不动点
类似dfs暴力找环
方案只和环个数和大小有关。
而颜色数量有限制
于是dp
dp[i][j][k][l]表示前i个环,三种颜色分别用了j,k,l次的染色方案数。每个环颜色必须相等。
然后枚举环用的颜色即可。
O((m+1)*20*20*20*20)大概是这样。
不知道为什么对的方法:
根据题意可以证明除了元置换外没有不动点
然后就是(a+b+c)!/(a!*b!*c!*(m+1))
置换不用读入就AC了。。。