問題一覧 > 通常問題

No.1516 simple 門松列 problem Re:MASTER

レベル : / 実行時間制限 : 1ケース 6.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 51
作問者 : ansain / テスター : akakimidori
0 ProblemId : 6285 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2021-05-19 03:07:56

作問者より

C問題とは、制約と実行制限時間のみが異なります。
・python,pypyでのACは確認していますが、低速な言語では実装次第で間に合わない可能性があります。

問題文

3つの要素から成る数列 v=(a1,a2,a3) が次の条件を満たす時, v は門松列であると言い伝えられています。
1.a1,a2,a3 は全て異なる
2.3つの要素のうち a2 が最も大きい,あるいは最も小さい
さらに, n 個の要素(ただし 3n) から成る数列w=(a1,a2....,an)
どの連続した3つの要素を取り出しても門松列であるとき w は門松列列であると言います。

長さ N の整数列であって、数列の各要素が 0 以上 K 未満であるものは KN 通りありますが、そのうち門松列列であるものが ans1 通りであるとします。ans1998244353 で割った余りを出力してください。
さらに、 ans1 通りの門松列列すべてにおいて、それぞれ数列の和を計算し、合計したものを ans2 とします。 ans2998244353 で割った余りを出力してください。

入力

N K

3N109
3K9
N,K は整数である。

出力

ans1ans2をそれぞれ998244353で割った余りを半角スペース区切りで出力してください。
最後に改行してください。

サンプル

サンプル1
入力
3 3
出力
4 12

(0,2,1)
(1,2,0)
(1,0,2)
(2,0,1)
4 通りあり、これらの数列の和を合計すると 12 になります。

サンプル2
入力
6 9
出力
26124 626976

サンプル3
入力
75432 9
出力
27800053 805337678

998244353 で割った余りを出力してください。

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。