問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!
(電脳言語のオルダーソンループで出題された問題です。8 言語での解答コードと解説が用意されています。)
あなたは格闘ゲームのコンボのコマンド入力を練習しています。
あるコンボのコマンドを入力しましたが、どのようにコマンドを入力したか記録するのを忘れてしまいました。
ゲームのデータを分析しキャラクターの動作の状態を時系列順に保管されているデータだけ取得することができました。
キャラクターの動作の状態は固定長のパラメータ列で表現されます。 また、コマンドごとに各パラメータの変化量が決まっており、どの 2 つのコマンド間でも少なくとも 1つのパラメータの変化量がお互いに異なります。
あるコンボにおけるキャラクターの状態の時系列データが与えられます。 このとき、キャラクターに与えたコンボのコマンド入力を時系列順に復元するプログラムを作成してください。
以下の図は、入力例 1 のようすを表しています。
入力は以下の形式で与えられます。
N M L
d_{1,1} d_{1,2} ... d_{1,M}
d_{2,1} d_{2,2} ... d_{2,M}
...
d_{N,1} d_{N,2} ... d_{N,M}
p_{1,1} p_{1,2} ... p_{1,M}
p_{2,1} p_{2,2} ... p_{2,M}
...
p_{L,1} p_{L,2} ... p_{L,M}
コマンド列を以下の形式で出力してください。
a_1
a_2
...
a_{L-1}
すべてのテストケースにおいて、以下の条件をみたします。
・2 ≦ N ≦ 100
・1 ≦ M ≦ 100
・2 ≦ L ≦ 100
・-100 ≦ d_{i, j} ≦ 100 (1 ≦ i ≦ N, 1 ≦ j ≦ M)
・-20,000 ≦ p_{i, j} ≦ 20,000 (1 ≦ i ≦ L, 1 ≦ j ≦ M)
・異なるコマンド間において必ず 1 つ以上のパラメータ変化量が異なる
・時刻 i のパラメータ列から時刻 i+1 のパラメータ列に変化させるようなコマンドがただ 1 つだけ存在する (1 ≦ i ≦ L-1)
3 3 4
-8 7 6
-5 0 -1
3 6 -9
6 -10 -1
9 -4 -10
1 3 -4
4 9 -13
3
1
3
5 6 7
1 3 7 -5 3 8
9 -7 3 2 0 10
1 -1 9 3 -4 -4
0 -9 2 5 -2 7
9 1 4 -8 -9 10
-5 -5 -10 1 -4 -2
-4 -2 -3 -4 -1 6
-3 1 4 -9 2 14
-2 4 11 -14 5 22
7 5 15 -22 -4 32
7 -4 17 -17 -6 39
8 -5 26 -14 -10 35
1
1
1
5
4
3