問題一覧 > 通常問題

No.2727 Tetrahedron Game

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 32
作問者 : MasKoaTS / テスター : nok0 👑 ygussany
1 ProblemId : 10158 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2024-04-12 22:39:39

問題文

22 個の正整数 N,KN, K と、99 個の整数 p1,1,p1,2,p1,3,p2,1,p2,2,p2,3,p3,1,p3,2,p3,3p_{1,1}, p_{1,2}, p_{1,3}, p_{2,1}, p_{2,2}, p_{2,3}, p_{3,1}, p_{3,2}, p_{3,3} と、長さ NN の正整数列 A=(A1,A2,,AN)A = (A_{1}, A_{2}, \dots, A_{N}) が与えられます。
また、KP のみからなる長さ NN の文字列 SS が与えられます。以下、SS の先頭から ii (1iN)(1 \leq i \leq N) 番目の文字を SiS_{i} と表します。

三次元空間上に 44O(0,0,0),P1(p1,1,p1,2,p1,3),P2(p2,1,p2,2,p2,3),P3(p3,1,p3,2,p3,3)O(0, 0, 0), P_{1}(p_{1,1}, p_{1,2}, p_{1,3}), P_{2}(p_{2,1}, p_{2,2}, p_{2,3}), P_{3}(p_{3,1}, p_{3,2}, p_{3,3}) をとり、コアさんパチェさんがゲームを行います。

ゲームは NN 回のターンからなり、ii (1iN)(1 \leq i \leq N) 回目のターンでは SiS_{i}K ならばコアさんが、SiS_{i}P ならばパチェさんが次の操作を行います。

  1. まず、1j,k31 \leq j,k \leq 3 を満たす整数の組 (j,k)(j,k)11 つ選ぶ(j=kj = k でも良い) 。

  2. 次に、三次元空間上に OQ=OPj+AiOPk\overrightarrow{OQ} = \overrightarrow{OP_{j}} + A_{i} \overrightarrow{OP_{k}} を満たす点 QQ をとり、PjP_{j}QQ と同じ座標に移動させる。

NN 回のターン終了後、ゲームの結果を次の手順によって決定します。

  1. 44O,P1,P2,P3O, P_{1}, P_{2}, P_{3} からなる四面体の体積を VV とする。ただし、これら 44 点が同一平面上に存在する場合は V=0V = 0 とする。

  2. VV が正整数でないならば、引き分けとする。

  3. VV が正整数であり、VV101101 で割った余りが KK 以上ならば、コアさんの勝ちとする。

  4. 上記以外の場合は、パチェさんの勝ちとする。

両者が最善を尽くしたとき、ゲームの結果がどうなるか判定してください。

TT 個のテストケースについて答えを求めてください。

制約

  • 1T1041 \leq T \leq 10^{4}

  • 1N1041 \leq N \leq 10^{4}

  • 1K1001 \leq K \leq 100

  • 106pi,j106-10^{6} \leq p_{i,j} \leq 10^{6} (1i,j3)(1 \leq i, j \leq 3)

  • 1Ai991 \leq A_{i} \leq 99 (1iN)(1 \leq i \leq N)

  • SSKP のみからなる長さ NN の文字列

  • 11 つの入力で与えられる NN の総和は 10410^{4} 以下

  • SS 以外の入力はすべて整数

入力

入力は次の形式で与えられます。

TT
case1\mathrm{case}_{1}
case2\mathrm{case}_{2}
  \vdots
caseT\mathrm{case}_{T}

各テストケースは次の形式で与えられます。

NN KK
p1,1p_{1,1} p1,2p_{1,2} p1,3p_{1,3}
p2,1p_{2,1} p2,2p_{2,2} p2,3p_{2,3}
p3,1p_{3,1} p3,2p_{3,2} p3,3p_{3,3}
A1A_{1} A2A_{2} \cdots ANA_{N}
SS

出力

答えを 11 行ずつ合計 TT 行に出力してください。

ii (1iT)(1 \leq i \leq T) 行目には、ii 個目のテストケースについてゲームを行ったときにコアさんが勝つならば K を、パチェさんが勝つならば P を、引き分けになるならば D を出力してください。

サンプル

サンプル1
入力
4
3 10
1 2 3
6 5 4
8 7 9
2 3 2
KKP
3 30
1 2 3
6 5 4
8 7 9
2 3 2
KKP
2 1
1 1 1
2 2 2
3 3 3
10 20
PK
10 50
14092 -4810 2101
-573209 -311 9
2098 454103 -785
48 19 21 63 99 8 32 53 29 78
KKPKPPKPKP
出力
K
D
D
P

まず、11 つ目のテストケースではコアさんが必勝です。例えば、次のように操作を行います。

  1. 11 回目のターンにおいて、コアさん(j,k)=(2,1)(j, k) = (2, 1) を選ぶ。このとき、点 P2P_{2} が座標 (8,9,10)(8, 9, 10) に移動する。

  2. 22 回目のターンにおいて、コアさん(j,k)=(3,3)(j, k) = (3, 3) を選ぶ。このとき、点 P3P_{3} が座標 (32,28,36)(32, 28, 36) に移動する。

  3. 33 回目のターンにおいて、パチェさん(j,k)=(1,3)(j, k) = (1, 3) を選ぶ。このとき、点 P1P_{1} が座標 (65,58,75)(65, 58, 75) に移動する。

  4. 33 回のターン終了後、44O,P1,P2,P3O, P_{1}, P_{2}, P_{3} からなる四面体の体積は V=14V = 14 となる。

  5. 1414101101 で割った余りは 1414 であり、これは 1010 以上なのでコアさんの勝ちとなる。

続いて、22 つ目のテストケースでは引き分けとなります。例えば、次のように操作を行います。

  1. 11 回目のターンにおいて、コアさん(j,k)=(1,3)(j, k) = (1, 3) を選ぶ。このとき、点 P1P_{1} が座標 (17,16,21)(17, 16, 21) に移動する。

  2. 22 回目のターンにおいて、コアさん(j,k)=(1,3)(j, k) = (1, 3) を選ぶ。このとき、点 P1P_{1} が座標 (41,37,48)(41, 37, 48) に移動する。

  3. 33 回目のターンにおいて、パチェさん(j,k)=(1,1)(j, k) = (1, 1) を選ぶ。このとき、点 P1P_{1} が座標 (123,111,144)(123, 111, 144) に移動する。

  4. 33 回のターン終了後、44O,P1,P2,P3O, P_{1}, P_{2}, P_{3} からなる四面体の体積は V=212V = \dfrac{21}{2} となる。

  5. 212\dfrac{21}{2} は正整数でないため、引き分けとなる。

続いて、33 つ目のテストケースでは引き分けとなります。
詳しい説明は省略しますが、両者がどのように操作を行ったとしても、V=0V = 0 となります。

残りのテストケースについても同様に答えを求めると、上の出力例のようになります。

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