004 - Making Table

時間制限 1 秒 / メモリ制限 64 MB / 得点 40 / x 1 /


TLE
1sec
MLE
64MB
得点
40

問題

n行m列からなる表A,B,Cがある。そのうち、i行目、j列目にある値をai,j,bi,j,ci,jとする。この3つの表を用い、次のようなルールで表Dを作成する。

  • ci,jの値が0ならば単純にai,jとbi,jを比較し、大きい方の値をdi,jに格納する。
  • ci,jの値が1ならばai,jとbi,jのそれぞれの各桁の総和を比較し、その値が大きかったほうの元の値をdi,jに格納する。
  • ci,jの値が2ならばai,jとbi,jのそれぞれの各桁の総和を3倍した値を比較し、大きかったほうの元の値をdi,jに格納する。
  • ci,jの値が3ならばai,jとbi,jのそれぞれの各桁の総和を半分にした値を比較し、大きかったほうの元の値をdi,jに格納する。 ※ただしci,jの値が1~3の時、その比較結果が同じだった場合、単純にai,jとbi,jを比較し、大きい方の値を格納する。
    ※各桁の総和とは各桁を足したもののことである。例えば12345という値の場合、1+2+3+4+5=15が総和となる。

上記の比較をすべての行,列で行い、完成した表Dを出力せよ

行と列について

    |一列目|二列目|三列目|...
-----+-----+-----+-----+-----
一行目|   |   |   |   
-----+-----+-----+-----+-----
二行目|   |   |   |   
-----+-----+-----+-----+-----
三行目|   |   |   |   
-----+-----+-----+-----+-----
:    |   |   |   |   

行と列は上のような関係である

入力

n m
a0,0 a0,1 ... a0,m-1
a1,0 a1,1 ... a1,m-1
:
an-1,0 an-1,1 ... an-1,m-1
b0,0 b0,1 ... b0,m-1
b1,0 b1,1 ... b1,m-1
:
bn-1,0 bn-1,1 ... bn-1,m-1
c0,0 c0,1 ... c0,m-1
c1,0 c1,1 ... c1,m-1
:
cn-1,0 cn-1,1 ... cn-1,m-1

入力は1+n×3行からなる。

一行目に行数n,ならびに列数mが与えられる。

2~3×n+1行目には三つの表A~Cのデータが与えられる。

最初のn行には表Aのデータが与えられる。

次のn行には表Bのデータが与えられる。

最後のn行には表Cのデータが与えられる。

出力

問題で提示されたルールに基づき、作成した表Dを出力せよ。

ただし、列と列との間には空白を設けること

列の最後に空白があるとWAになるので気を付けるように

制約

  • 1 ≦ n,m ≦ 100
  • 0 ≦ ai,j,bi,j < 1,000,000,000
  • ci,jは必ず0,1,2,3のいずれかである。

入出力例

入力例1

3 2
15 123
345 1850
12345 10000
20 124
234 195
54321 10000
0 1
2 3
1 2

出力例1

20 124
345 195
54321 10000

解説

表のx列目、y行目を(x,y)と表す。(左上を(0,0),右下を(1,2)とする)

(0,0)のCの値は0なので普通に比較する。20>15よりDには20が格納される。

(1,0)のCの値は1なので、A,Bの各桁の総和をそれぞれ計算する。
1+2+3=6 < 1+2+4=7より元の値である124が格納される。

(0,1)のCの値は2なので、各桁の総和を三倍する必要がある。
(3+4+5)*3=36 > (2+3+4)*3=27より、元の値である345が格納される。

(1,1)のCの値は3なので、各桁の総和を半分にする。
(1+8+5+0)/2=7 < (1+9+5)/2=7.5より元の値である195が格納される。
ここで割り算の結果が小数点になってもそれを切り捨てないで比較する点に注意するように。

(0,2)を計算するとどちらも同じ値である。その場合は本来の数を比較するルールのため、54321が格納される。

(1,2)のように、計算結果が等しく、なおかつ元の値の比較も等しい場合は、その値を格納する

入力例2

3 3
194 132 293
559 322 713
612 173 747
29 155 118
824 847 777
494 145 497
3 2 0
1 0 2
2 0 3

出力例2

194 155 293
559 847 777
494 173 497

入力例3

4 5
8200 6253 1725 238 4102
1604 4271 1208 1237 6300
6930 6224 2519 6412 4325
4560 2589 1809 4227 2737
541 5201 4892 7628 2650
2103 7980 1276 5792 1811
8696 3188 80 2209 8182
1551 2700 486 6182 1466
2 0 3 2 0
1 3 0 0 2
1 2 0 0 0
0 1 1 3 0

出力例3

8200 6253 4892 7628 4102
1604 7980 1276 5792 1811
8696 3188 2519 6412 8182
4560 2589 1809 6182 2737