問題一覧 > 通常問題

No.2830 Don't Stop the Game

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / スペシャルジャッジ問題 (複数の解が存在する可能性があります)
タグ : / 解いたユーザー数 17
作問者 : ねしん / テスター : 👑 p-adic
1 ProblemId : 11027 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2024-08-02 17:19:42

問題文

ゲームのやりすぎを指摘されてしまい、親がゲームにパスワードを設定してしまいました。また親は用心深いので、ゲームのパスワードをXXとすると、総和がXXになるようにNN個の整数に分割して、それぞれのサーバーに預けてしまいました。
ゲームがしたいのでどうにかしてパスワードを求めようとしたところ、サーバーにアクセスできるようにはなったものの、変なクエリーしか送ることが出来ませんでした。
そのクエリー内容は以下の通りです。またi (1iN) i\ (1\leq i \leq N)\ 番目のサーバーに預けられている数をaia_iとします。また、bi (1iN) b_i\ (1 \leq i \leq N)\ は初期値が00であるものとします。
クエリー11 整数j (1jN) j\ (1 \leq j \leq N)\ を送る。それぞれのbi (1iN) b_i\ (1 \leq i \leq N)\ ajia_j^iの値を足して998244353998244353で割った余りに置き換える。
クエリー22 (1,2,...,N) (1,2,...,N)\ の順列 P=(p1,p2,...,pN) \ P=(p_1,p_2,...,p_N)\ を送る。bj (1jN) b_j\ (1 \leq j \leq N)\ にそれぞれ i=1Napiji1 \ \sum_{i=1}^{N} a_{p_i}j^{i-1}\ を足して998244353998244353で割った余りに置き換える。
クエリー33 整数i,j (1i,jN) i,j\ (1 \leq i,j \leq N)\ を送る。bib_ibjb_j bibj \ b_ib_j\ 998244353998244353で割った余りに置き換える。
クエリー44 整数i,x (1iN,1x998244352) i,x\ (1 \leq i \leq N,1 \leq x \leq 998244352)\ を送る。bib_i bix \ b_ix\ 998244353998244353で割った余りに置き換える。
クエリー55 整数i,x (1iN,1x998244352) i,x\ (1 \leq i \leq N,1 \leq x \leq 998244352)\ を送る。bib_i bi+x \ b_i+x\ 998244353998244353で割った余りに置き換える。
クエリーは合計で10001000回まで送ることが出来ます。すべてのクエリーが終わった後に i=1Nbi \ \sum_{i=1}^{N}b_i\ 998244353998244353で割った余りだけ伝えられます。
親から聞き出し、N=30 N=30\ であることはわかりました。このことから、i=1Nai=(i=1Nbi)mod  998244353 \sum_{i=1}^{N}a_i=(\sum_{i=1}^{N}b_i) \mod 998244353\ になるように操作し、パスワードをゲットしてください。

入力


    

入力は与えられません。
ai(1iN)a_i(1 \leq i \leq N)は以下の条件を満たします。
0ai1070 \leq a_i \leq 10^7
aia_iはクエリー読み取る前にジャッジ側で固定

出力

Mquery1query2queryMM
\\query_1
\\query_2
\\ \ldots
\\query_M

クエリー数をMMとしたとき、上記の様に出力してください。ただし1M10001 \leq M \leq 1000である必要があります。
またqueryi(1iM)query_i(1 \leq i \leq M)は以下のいずれかの形で出力してください。

1j1
\\j
2p1 p2 ... pN2
\\p_1 \ p_2 \ ... \ p_N
3i j3
\\i \ j
4i x4
\\i\  x
5i x5
\\i \ x

ただし、それぞれのクエリーで以下の条件を満たしている必要があります。
クエリー1
1jN1 \leq j \leq N
クエリー2
(p1,p2,,pN) (p_1,p_2,\ldots,p_N)\  (1,2,,N) \ (1,2,\ldots,N)\ の順列
クエリー3
1i,jN1 \leq i,j \leq N
クエリー4
1iN1 \leq i \leq N
1x9982443521 \leq x \leq 998244352
クエリー5
1iN1 \leq i \leq N
1x9982443521 \leq x \leq 998244352
上記の条件をすべて満たし、i=1Nai=(i=1Nbi)mod  998244353 \sum_{i=1}^{N}a_i=(\sum_{i=1}^{N}b_i) \mod 998244353\ のとき正解となります。また制約を満たしていない場合の結果は未定です。

サンプル

サンプル1
入力

            
出力
5
1
3
2
1 3 2
3
1 2
4
1 5
5
1 1000

ここでは簡略化のため実際とは異なるN=3N=3とします。また (a1,a2,a3)=(6,3,1) \ (a_1,a_2,a_3)=(6,3,1)\ とします。最初は (b1,b2,b3)=(0,0,0) \ (b_1,b_2,b_3)=(0,0,0)\ です。
11つ目のクエリーで (b1,b2,b3)=(0+11,0+12,0+13)=(1,1,1) \ (b_1,b_2,b_3)=(0+1^1,0+1^2,0+1^3)=(1,1,1)\ となります。
22つ目のクエリーで (b1,b2,b3)=(6+1×1+3×12+1,6+1×2+3×22+1,6+1×3+3×32+1)=(11,21,37) \ (b_1,b_2,b_3)=(6+1 \times 1+3 \times 1^2+1,6+1 \times 2+3 \times 2^2+1,6+1 \times 3+3 \times 3^2+1)=(11,21,37)\ となります。
33つ目のクエリーで (b1,b2,b3)=(11×21,11×21,37)=(231,231,37) \ (b_1,b_2,b_3)=(11 \times 21 , 11 \times 21 ,37) =(231,231,37)\ となります。
44つ目のクエリーで (b1,b2,b3)=(231×5,231,37)=(1155,231,37) \ (b_1,b_2,b_3)=(231 \times 5,231,37)=(1155,231,37)\ となります。
55つ目のクエリーで (b1,b2,b3)=(1155+1000,231,37)=(2155,231,37) \ (b_1,b_2,b_3)=(1155+1000,231,37)=(2155,231,37)\ となります。
明らかにこれは i=1Nai(i=1Nbi)mod  998244353 \ \sum_{i=1}^{N}a_i \neq (\sum_{i=1}^{N}b_i) \mod 998244353\ であるため不正解です。

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