エグゼクティブサマリー
2つのベクトルを表す入力とそれぞれの「重み」を指定すると、それらのベクトルの加重和も表す出力が生成されます。
チャレンジ
入力は、次の文字の1つ以上の行で構成されます。
- 2次元平面の原点を表す数字0の正確な1回の出現。
- 正確に他の2桁(1から9。同じ数字である場合とそうでない場合がある)、その原点に対する位置はベクトルを表し、その値はこれらのベクトルに付加された重みを表します。
- いくつかの「背景文字」。ソルバーは特定の背景文字を選択できます。たとえば、「。」を選択します (主に人間が読みやすいように)。または、背景文字は空白のように見えるものであれば何でもかまいません。
(ソルバーは、入力が単一の複数行文字列であるか、1行文字列の配列であるかを選択できます。)
たとえば、入力
....2
.0...
...3.
重み2の座標(3,1)のベクトルと、重み3の座標(2、-1)のベクトルを表します。
出力は入力とほぼ同じで、次の変更が必要です。
- ソルバーによって選択され、入力ベクトルの加重和によって指定された位置に(追加的に、入力ベクトルの適切な線形結合である位置に)追加される「結果文字」。
- 原点、2つの入力ベクトル、および出力ベクトルを同じ画像に収めるために必要な数の背景文字。必要に応じて、追加の背景文字を含めることができます。唯一の制約は、背景文字が可視文字である場合、出力全体の形状が長方形でなければならず、ベクトルを表さないすべての文字が背景文字でなければならないということです。(空白文字が背景文字として使用される場合、これらの制約を実施する必要はありません。)
(一般に、重みaの1つのベクトル(v、w)と重みbの2番目のベクトル(x、y)がある場合、それらの加重和はa(v、w)+ b(x、y)=(av + bx、aw + by)。)
前の例では、適切な線形結合は2 *(3,1)+ 3 *(2、-1)=(12、-1)です。結果の文字として「X」を使用すると、出力は次のようになります
....2.........
.0............
...3.........X
または
................
...2............
0...............
..3.........X...
................
................
通常のコードゴルフスコアリング:バイト単位の最短回答が勝ちます。
入出力の例
空白が使用される場合、上記の入力は次のようになります
2
0
3
出力は次のようになります
2
0
3 X
先頭/末尾の空白文字/行は無関係です。読者に見えない場合は問題ありません。(そうは言っても、残りの例では、読みやすくするために、背景文字に "。"を使用することに戻ります。)
両方のベクトルの重みが1の場合、結果は平行四辺形のようになります。入力
.1.
...
1.0
出力につながる
X.1.
....
.1.0
入力ベクトルが共線の場合、この平行四辺形は縮退する可能性があることに注意してください。
0.1..1
出力につながる
0.1..1.X
結果ベクトルは、入力ベクトルの1つまたは原点に等しくなる可能性があります。この場合、単に入力文字を上書きします。たとえば、入力
..2.0.1...
出力を生成します
..X.0.1...
(入力および/または出力では、先行および後続の期間を削除できます)。入力
.....3
......
...0..
......
......
2.....
出力を生成します
.....3
......
...X..
......
......
2.....
最後に、入力
90
.8
出力を生成します
........90
.........8
..........
..........
..........
..........
..........
..........
X.........