AT_npcapc_2024_j Again Permutation Problem

题目描述

给定 $M$ 个 $ (1,2,\dots,N) $ 的排列。第 $i$ 个排列记为 $ P_i = (P_{i,1},P_{i,2},\dots,P_{i,N}) $。 你有一个数列 $ Q=(1,2,\dots,N) $。你可以进行如下操作若干次(可以为 0 次): - 选择一个满足 $ 1 \le i \le M $ 的整数 $i$,将 $ Q $ 更新为 $ (Q_{P_{i,1}},Q_{P_{i,2}},\dots,Q_{P_{i,N}}) $。 请你求出所有可能经过若干次操作后得到的数列 $ Q $ 的逆序数之和,结果对 $ 998244353 $ 取模。

输入格式

输入通过标准输入以如下形式给出。 > $ N\ M\ P_{1,1}\ P_{1,2}\ \dots\ P_{1,N}\ P_{2,1}\ P_{2,2}\ \dots\ P_{2,N}\ \vdots\ P_{M,1}\ P_{M,2}\ \dots\ P_{M,N} $

输出格式

输出答案。

说明/提示

## 部分分 本题设置了部分分。 - 对于满足 $ N \le 6 $ 的数据集,如果答对将获得 $ 10 $ 分。 ## 样例说明 1 你可能得到的数列 $ Q $ 有 $ (1,2,3),(2,3,1),(3,1,2) $ 共 3 个。它们的逆序数依次为 $ 0,2,2 $,因此答案为 $ 0 + 2 + 2 = 4 $。 ## 约束条件 - $ 1 \le N \le 30 $ - $ 1 \le M \le 30 $ - $ P_i=(P_{i,1},P_{i,2},\dots,P_{i,N}) $ 是 $ (1,2,\dots,N) $ 的一个排列。 由 ChatGPT 5 翻译