TeraCoder2024
コンテスト日時
2024/12/22 (Su) 14:00 - 18:00

L - Word Chain Terako

Assam
2
s
1024
MB
200

問題文

暇になった寺子さんは分身してもう一人の寺子さんと遊ぶことにしました。分身した方の寺子さんを寺子Aさんと呼びます。2人はしりとりで遊びました。ただ、寺子さんと寺子Aさんは分身したせいでしりとりのルールを忘れてしましました。幸いなことに、しりとりで言った発言を記録しており、寺子さんと寺子Aさんが合体して元に戻った時にしりとりのルールを思い出しました。思い出したルールは以下の通りです。

  • 最初は好きな英単語を言う
  • 2回目以降は前の英単語の、最後のアルファベットから始まる単語を言う
  • 一度使った単語を使ってはならない

英語のしりとりなのでnをいったら負け、というようなルールはありません。 ただ、このままでは面白くないと思った寺子さんは以下の要素を追加しました。

  • 最初、両者の持ち点は0点
  • 英単語を言うたびに、言った人は1点追加される
  • 言った英単語が回文だったら、1点ではなく2点追加される
  • ルールを破った発言をした時、点数はもらえない

全て発言したら、もしくはルールを破った時点でゲームは終了し、終了した時点での持ち点が多いほうが勝利です。先行は寺子さんで、寺子Aさんと交互に発言します。$N$ 個の記録した発言 $S$ ($S_1, S_2, ..., S_N$)が与えられるので、勝った人と、その持ち点を出力してください。

制約

  • $2 \leq N \leq 10^4$
  • $2 \leq |S_i| \leq 50$
  • $S_i$はすべて英小文字からなる英単語
  • 先行は寺子さんで寺子Aさんと交互に発言する
  • $N$は整数

入力

1行目に $S$ の長さを表す $N$ 、2行目以降に長さ$N$の$S(S_1, S_2, ..., S_N)$がN行にわたって与えられます。

$N$
$S_1$
$S_2$
.
.
.
$S_N$

出力

寺子さんが勝ったらTerako、寺子Aさんが勝ったらTerakoA、引き分けだったらdrawを出力してください。 次の行に、勝ったほうの持ち点を出力してください。引き分けの場合、-1を出力してください。

入力例 1
5 apple egg green nice engish
出力例 1
Terako 3

全て発言し終わった時点で、Terakoさんは3点,TerakoAさんは2点です。
Terakoさんの方が点数が高いのでTerakoと点数である3を出力します。

入力例 2
4 abcda abcba abcd dance
出力例 2
TerakoA 3

TerakoAさんは回文であるabcbaを発言した時に2点を貰っています。
最終的にTerakoさんは回文を発言していないので2点、TerakoAさんは3点なのでTerakoAと3を出力します。

入力例 3
4 apple egge english shop
出力例 3
draw -1

2回目の発言でterakoAさんが「egge」と回文を発言しており、4回目の発言でterakoさんがルールを破った発言をしているので、terakoさん2点、terakoAさん2点で引き分けになります。
引き分けの時はdrawと-1を出力します。

入力例 4
3 apple egge egge
出力例 4
TerakoA 2

Terakoさんはルール違反をしたためeggeの点数はもらえません。
この時点でTerakoさんは1点、TerakoAさんは2点なので、TerakoAと2を出力します。

提出
C++23 (g++ 12.2.0)