定義
非負整数の行列と非負整数与えられた場合、を含むすべての行と列を削除する「チョップオフ」関数としてを定義します。k F k M k
例:
あなたのタスク
とターゲットの合計Sが与えられた場合、タスクは、F_k(M)の残りの要素の合計がSと等しくなるように、kのすべての可能な値を見つけることです。
例:
上記の行列とS = 9が与えられた場合:
- F = 5 (M)= \ pmatrix {1&2 \\ 6&0}および1 + 2 + 6 + 0 = 9であるため、k = 5は解です。
- は、他の唯一の可能なソリューションです:および
したがって、期待される出力はます。
明確化と規則
- 入力は、少なくとも1つのソリューションを受け入れることが保証されています。
- 元の行列の要素の合計は、Sより大きいことが保証されています。
- S> 0と仮定できます。これは、空の行列が解につながらないことを意味します。
- kの値は、任意の順序で、合理的で明確な形式で印刷または返されます。
- 出力を重複排除しないようにすることができます(たとえば、またはは上記の例の有効な回答と見なされます)。[ 1 、5 、1 、5 ]
- これはcode-golfです。
テストケース
M = [[6,1,5],[1,2,8],[9,8,5],[6,0,4]]
S = 9
Solution = {1,5}
M = [[7,2],[1,4]]
S = 7
Solution = {4}
M = [[12,5,2,3],[17,11,18,8]]
S = 43
Solution = {5}
M = [[7,12],[10,5],[0,13]]
S = 17
Solution = {0,13}
M = [[1,1,0,1],[2,0,0,2],[2,0,1,0]]
S = 1
Solution = {2}
M = [[57,8,33,84],[84,78,19,14],[43,14,81,30]]
S = 236
Solution = {19,43,57}
M = [[2,5,8],[3,5,8],[10,8,5],[10,6,7],[10,6,4]]
S = 49
Solution = {2,3,4,7}
M = [[5,4,0],[3,0,4],[8,2,2]]
S = 8
Solution = {0,2,3,4,5,8}
[[1,5],[1],[5],[]]
最初のテストケースの場合)は、出力の有効な手段になりますか?