Ini adalah yang kedua dari serangkaian tantangan Island Golf. Tantangan sebelumnya
Dua pertapa telah tiba di pulau terpencil. Karena mereka datang mencari kesendirian, mereka ingin hidup sejauh mungkin dari satu sama lain. Di mana mereka harus membangun gubuk mereka untuk memaksimalkan jarak berjalan di antara mereka?
Memasukkan
Input Anda akan berupa kotak persegi panjang yang terdiri dari dua karakter, mewakili tanah dan air. Dalam contoh di bawah ini, tanah adalah #
dan air.
, tetapi Anda dapat mengganti dua karakter berbeda yang Anda inginkan.
...........
...##......
..#####....
..#######..
.#########.
...#######.
...#####.#.
....####...
...........
Akan selalu ada setidaknya dua tegel tanah. Ubin tanah semuanya akan bersebelahan (yaitu hanya ada satu pulau). Ubin air juga akan bersebelahan (yaitu tidak ada danau). Perbatasan luar dari grid semua akan menjadi ubin air. Ubin tanah tidak akan akan terhubung secara diagonal: yaitu, Anda tidak akan pernah melihat sesuatu seperti itu
....
.#..
..#.
....
Keluaran
Kode Anda harus menampilkan kisi yang sama, dengan dua lokasi pondok ditandai di atasnya. Pada contoh di bawah ini, lokasi pondok ditandai dengan X, tetapi Anda dapat mengganti karakter apa pun asalkan berbeda dengan karakter tanah dan air Anda.
Lokasi pondok harus dua ubin tanah, dipilih untuk memaksimalkan jarak berjalan di antara mereka. Kami mendefinisikan jarak berjalan sebagai panjang jalur terpendek, seluruhnya di darat, antara dua titik. Ubin tanah dianggap berdekatan secara horizontal atau vertikal, tetapi tidak secara diagonal.
Solusi yang memungkinkan untuk pulau di atas:
...........
...X#......
..#####....
..#######..
.#########.
...#######.
...#####.X.
....####...
...........
Jarak berjalan antara dua titik ini adalah 11, yang merupakan jarak terbesar antara dua titik di pulau ini. Ada solusi lain jarak-11:
...........
...##......
..X####....
..#######..
.#########.
...#######.
...#####.X.
....####...
...........
Detail
Solusi Anda mungkin merupakan program atau fungsi lengkap . Salah satu metode input dan output default yang dapat diterima.
Input dan output Anda dapat berupa string multiline, daftar string, atau array 2D / daftar karakter yang bersarang / string karakter tunggal. Output Anda mungkin (secara opsional) memiliki satu baris baru. Seperti disebutkan di atas, Anda dapat menggunakan tiga karakter berbeda sebagai pengganti #.X
(harap tentukan dalam kiriman Anda karakter mana yang Anda gunakan).
Uji kasus
A. Kepulauan dengan penempatan gubuk unik:
....
.##.
....
....
.XX.
....
......
......
..##..
...#..
......
......
......
......
..X#..
...X..
......
......
........
.#####..
.##..##.
.#..###.
.##..##.
........
........
.#####..
.##..##.
.#..###.
.#X..#X.
........
.........
.#####.#.
.#...#.#.
.#.###.#.
.#.....#.
.#######.
.........
.........
.#####.X.
.#...#.#.
.#.X##.#.
.#.....#.
.#######.
.........
B. Contoh pulau dengan beberapa solusi yang memungkinkan:
........
....##..
...####.
..###...
.#####..
.#####..
..##....
........
Output yang mungkin:
........
....#X..
...####.
..###...
.#####..
.X####..
..##....
........
........
....#X..
...####.
..###...
.#####..
.#####..
..X#....
........
........
....##..
...###X.
..###...
.#####..
.X####..
..##....
........
........
....##..
...###X.
..###...
.#####..
.#####..
..X#....
........
C. Kasus uji besar sebagai Intisari
Ini adalah kode-golf : kode terpendek dalam setiap bahasa menang.