このStack Overflowの質問に触発されました。
チャレンジ
入力
非負の整数を含む正方行列の配列。
出力
次のように入力行列から構築された正方行列。
ましょ各入力行列のサイズ、である入力行列の数。
明確にするために、次の入力行列の例(、)を考慮してください。
3 5
4 10
6 8
12 11
2 0
9 1
- 最初の入力行列から始めます。
- 2番目の入力行列をN -1ステップ下にシフトし、N -1ステップ右にシフトして、左上エントリが前のエントリの右下エントリと一致するようにします。
2番目のシフトされたマトリックスが、最初のマトリックスの上に積み重ねられているように想像してください。一致するエントリで2つの値を合計します。他の値を書き込み、残りのエントリを埋めて(2 N − 1 )× (2 N − 1 )行列
0
を取得します。入力例では、これまでの結果は3 5 0 4 16 8 0 12 11
残りの各入力行列について、左上が累積結果行列のこれまでの右下と一致するようにずらします。例では、3番目の入力行列を含めると、
3 5 0 0 4 16 8 0 0 12 13 0 0 0 9 1
出力は、行列で、最後の入力行列を含めた後に取得されます。
追加の規則と説明
- とは正の整数です。
- オプションで、追加の入力としてとを取ることができます。
- どんな合理的な手段でも入出力を取ることができます。それらの形式は通常どおり柔軟です。
- すべてのプログラミング言語でプログラムまたは機能を使用できます。標準的な抜け穴は禁止されています。
- バイト単位の最短コードが優先されます。
テストケース:
いずれの場合も、最初に入力行列が表示され、次に出力が表示されます。
、:
3 5 4 10 6 8 12 11 2 0 9 1 3 5 0 0 4 16 8 0 0 12 13 0 0 0 9 1
、:
3 5 4 10 3 5 4 10
、:
4 7 23 5 39
、:
11 11 8 6 8 12 11 0 4 4 1 13 9 19 11 13 4 2 11 11 8 0 0 6 8 12 0 0 11 0 8 1 13 0 0 9 19 11 0 0 13 4 2
、:
14 13 10 0 13 20 21 3 9 22 0 8 17 3 19 16 14 13 0 0 0 10 13 20 0 0 0 21 12 22 0 0 0 0 25 3 0 0 0 19 16