AT_recruite_2013_pre_a ババ抜き

Description

[problemUrl]: https://atcoder.jp/contests/Recruit-Programing-contest-practice/tasks/recruite_2013_pre_a 特殊なトランプを使ったババ抜きを $ N $ 人で行う。 カードに記載される数字は`1` $ ~ $ `8` までで、ジョーカーは`J`である。 $ N $ 人にカードが与えられるので、ババ抜きが終了するまでに、プレイヤーがカードを引いた総数を出力せよ。 ただしババ抜きが終了しない場合は`-1`と出力せよ。 このババ抜きのルールを以下に記載する。 各プレイヤーは、次のプレイヤーの手札から一番左のカードを引き、自分の手札の一番右に加える。 つまり、プレイヤー $ 1 $ はプレイヤー $ 2 $ からカードを引き、プレイヤー $ N $ はプレイヤー $ 1 $ からカードを引く。 その過程で、引いたカードと同じ数字のカードが自分の手札にあった場合、それらを両方捨てる。 もし、プレイヤーの手札がなくなったら、そのプレイヤーは上がりとし、以後、そのプレイヤーはいないものとして扱う。 例えば、プレイヤー $ 2 $の手札がなくなった場合、プレイヤー $ 1 $ は、プレイヤー $ 3 $ からカードを引く。 ジョーカー以外は偶数枚存在するが、ジョーカーだけはあるプレイヤーに $ 1 $ 枚だけ配られる。 各プレイヤーの手札から、ジョーカー以外のすべてのカードがなくなったらゲーム終了である。 入力の $ 1 $ 行目にはテストケース数 $ T $ を示す。以降、$ T $ 個のテストケースが続く。 各テストケースの $ 1 $ 行目は入力値の個数 $ N $ を示す。 次の行から $ N $ 行にわたって、入力値 $ c_1 $、$ c_2 $、...$ c_N $ が表示される。 $ c_i $ は、プレイヤー $ i $ の初期手札を意味し、文字列である。 たとえば、$ 2746J18 $ は、左から順番に、`2``7``4``6``J``1``8`を所持していることを表す。 各テストケースに対して、ババ抜きが終了するまでにプレイヤーがカードを引いた総数を出力する。 ただしババ抜きが終了しない場合は`-1`と出力せよ。 $ 1≦T≦100 $ $ 3≦N≦5 $ $ c_i $ は`1`$ ~ $`8`に $ J $ を加えた文字列 制約外のサンプル入力がありましたので、一部修正しました。 3 3 16372 2746J18 348 4 1234 1234 1234 1234J 5 13645 643125 147 5137J 3245 15 29 -1

Input Format

N/A

Output Format

N/A