T1:
每行每列都可以交换,其实就是错位排列。
写出递推式,打个高精就行了。
$f_n=(f_{n-1}+f_{n-2})*(n-1)$。
时间复杂度$O(nc)$。
T2:
可以暴力用bitsetAC。
直接建图跑拓扑,判断所有点的入度和能到达它的的点数是否相同。
用bitset维护连通集合。
若图Q是传递的,对于P中的每一条边$<u,v>$,一定不存在$u$到$v$的通路,否则与Q传递矛盾。
也就是说,仅当总的图无环,才满足条件。
直接拓扑排序即可。
时间复杂度$O(n^2)$。
T3:
数位DP。