東京大学プログラミングコンテスト2014

F - チェックディジット


Time limit時間制限 : 5sec / Memory limitメモリ制限 : 256MB

問題

背景

注意力散漫なビッグブリッジ伯爵はよく電話番号を書き間違えて大学の事務局に怒られている。何回も怒られてさすがに懲りた彼は、自分の書き間違えの傾向を調べた結果、隣接する 2 つの数字を入れ替えて書いてしまうことが非常に多いことがわかった。このミスを犯した時に彼がすぐに気がつけるよう、簡単に計算できる検査符号を設計してあげよう。

課題

10 桁の整数に対するチェックディジットを設計せよ。すなわち、次に示す 2 つの条件を満たす、10 桁の整数を入力とし 0 以上 100 未満の整数であるチェックディジットを出力する関数を設計せよ。ただし、入力の整数は 0 以上で、10^9 未満の整数についてはleading zeroを付けて、10 桁と見なす。

配点

200

入力

入力は以下の形式で与えられる。

T
a_1
:
a_T

1 行目にはチェックディジットをつける整数の個数 T が与えられる。 続く T 行にはチェックディジットをつける整数 a_i1 行ずつ与えられる。

制約

出力

入力で与えられたそれぞれの整数に対応するチェックディジットを出力せよ。

採点方式

この問題に対しては 8 つのテストケースが用意されており、それぞれ 25 点を満点として採点される。

それぞれのテストケースにおける T の値は次の通り。

各テストケースに対するジャッジの出力は次のようにして定める。

各テストケースは独立に採点される。特に、同じ整数値に対して異なるテストケースで異なるチェックディジットが付けられていてもただちに WA とはならない。

入力例1

6
0000000011
0000000012
0000000013
0000000021
0000000031
0000000011

出力例1

0
0
0
1
1
0

Submit提出する