Ringkasan bisnis plan
Input yang diberikan mewakili dua vektor dan "bobot" masing-masing, menghasilkan output yang juga mewakili jumlah tertimbang dari vektor tersebut.
Tantangan
Input akan terdiri dari satu atau lebih baris karakter berikut:
- persis satu kemunculan digit 0, yang mewakili asal dalam bidang dua dimensi;
- tepat dua digit lainnya (1-9; mungkin atau mungkin tidak digit yang sama), yang posisinya relatif terhadap titik asal mewakili vektor, dan yang nilainya mewakili bobot yang dilampirkan pada vektor vektor tersebut;
- sejumlah "karakter latar belakang". Pemecah dapat memilih karakter latar belakang tertentu; misalnya, saya akan memilih "." (sebagian besar untuk keterbacaan manusia). Bergantian, karakter latar belakang bisa berupa apa saja yang terlihat seperti ruang kosong.
(Pemecah dapat memilih apakah input adalah string multi-line tunggal atau array string satu-baris.)
Misalnya input
....2
.0...
...3.
mewakili vektor pada koordinat (3,1) dengan bobot 2, dan vektor pada koordinat (2, -1) dengan bobot 3.
Outputnya harus hampir sama dengan input, dengan perubahan berikut:
- "karakter hasil", yang dipilih oleh solver, untuk ditambahkan pada posisi yang ditentukan oleh jumlah tertimbang dari vektor input (ekuivalen, pada posisi yang merupakan kombinasi linear yang sesuai dari vektor input);
- sebanyak karakter latar belakang yang diperlukan agar sesuai dengan asal, dua vektor input, dan vektor output dalam gambar yang sama. Karakter latar belakang tambahan dapat dimasukkan jika diinginkan; satu-satunya kendala adalah bahwa, jika karakter latar belakang adalah karakter yang terlihat, maka seluruh output harus berbentuk persegi panjang dan setiap karakter yang tidak mewakili vektor harus menjadi karakter latar belakang. (Jika ruang kosong digunakan sebagai karakter latar belakang, maka batasan ini tidak perlu ditegakkan.)
(Secara umum, jika kita memiliki satu vektor (v, w) dengan bobot a dan vektor kedua (x, y) dengan berat b, jumlah tertimbangnya adalah (v, w) + b (x, y) = (av + bx, aw + oleh).)
Pada contoh sebelumnya, kombinasi linear yang sesuai adalah 2 * (3,1) + 3 * (2, -1) = (12, -1). Jika kita menggunakan "X" sebagai karakter hasil, maka hasilnya akan terlihat seperti
....2.........
.0............
...3.........X
atau
................
...2............
0...............
..3.........X...
................
................
Penilaian kode-golf biasa : jawaban terpendek, dalam byte, menang.
Contoh input dan output
Jika ruang kosong digunakan, input di atas akan terlihat seperti
2
0
3
dan hasilnya akan terlihat seperti
2
0
3 X
Karakter / garis spasi putih terkemuka / tidak relevan; jika mereka tidak terlihat oleh pembaca, tidak apa-apa. (Yang dikatakan, untuk sisa contoh saya akan kembali menggunakan "." Untuk karakter latar belakang, untuk membuatnya lebih mudah dibaca.)
Jika kedua vektor memiliki bobot 1, maka hasilnya akan terlihat seperti jajar genjang: input
.1.
...
1.0
mengarah ke output
X.1.
....
.1.0
Perhatikan bahwa jajar genjang ini dapat berdegenerasi jika vektor inputnya adalah linier: input
0.1..1
mengarah ke output
0.1..1.X
Dimungkinkan untuk vektor hasil untuk sama dengan salah satu vektor input atau asal; dalam hal ini, ia hanya akan menimpa karakter input. Misalnya input
..2.0.1...
menghasilkan output
..X.0.1...
(di mana dalam input dan / atau output, periode awal dan akhir dapat dihapus). Input
.....3
......
...0..
......
......
2.....
menghasilkan output
.....3
......
...X..
......
......
2.....
Akhirnya input
90
.8
menghasilkan output
........90
.........8
..........
..........
..........
..........
..........
..........
X.........