atcoder#ARC107C. [ARC107C] Shuffle Permutation
[ARC107C] Shuffle Permutation
配点 : 点
問題文
の行列と、整数 が与えられます。この行列の 行目、 列目の値を とします。この行列は、 をちょうど一つずつ要素に含みます。
sigma くんは、以下の 種類の操作を、好きな順序で 好きな回数 行えます。
- 全ての () について を満たす を選び、行列の 列目をswapする。
- 全ての () について を満たす を選び、行列の 行目をswapする。
最終的に得られる行列は何種類存在するでしょうか? で答えてください。
制約
- は の並び替え
- 入力される数は全て整数である。
入力
入力は以下の形式で標準入力から与えられる.
出力
最終的に得られる行列が何種類存在するかを で出力せよ。
3 13
3 2 7
4 8 9
1 6 5
12
例えば として列ベクトルを swap でき、以下のようになります。
2 3 7
8 4 9
6 1 5
その後更に として行ベクトルを swap でき、以下のようになります。
6 1 5
8 4 9
2 3 7
10 165
82 94 21 65 28 22 61 80 81 79
93 35 59 85 96 1 78 72 43 5
12 15 97 49 69 53 18 73 6 58
60 14 23 19 44 99 64 17 29 67
24 39 56 92 88 7 48 75 36 91
74 16 26 10 40 63 45 76 86 3
9 66 42 84 38 51 25 2 33 41
87 54 57 62 47 31 68 11 83 8
46 27 55 70 52 98 20 77 89 34
32 71 30 50 90 4 37 95 13 100
348179577