Saya baru saja memainkan permainan papan Maaf! dengan beberapa orang, dan saya menyadari bahwa saya dapat mendasarkan beberapa tantangan menarik darinya. Yang ini cukup sederhana.
Tugas Anda hanyalah mengeluarkan versi ascii-art dari papan maaf, menempatkan potongan-potongan di tempat yang saya beri tahu.
Spesifikasi
Pertama, ini adalah gambar Maaf yang sebenarnya ! papan untuk referensi:
Papan kosong terlihat seperti:
# > - - o # # # # > - - - o # #
# # S v
o # H # # # # # |
| # |
| # S o
| # #
^ H #
# #
# #
# H v
# # |
o S # |
| # |
| # # # # # H # o
^ S # #
# # o - - - < # # # # o - - < #
Perhatikan beberapa fitur.
- Itu
#
adalah kotak kosong. - Tanda
S
'danH
' adalah masing-masing Mulai dan Rumah. - Ini
>v<^
adalah awal dari slide, tergantung pada arah mana yang mereka hadapi. - Tanda
|
'dan-
' adalah bagian tengah dari slide, tergantung pada apakah itu horisontal atau vertikal. - Ini
o
adalah akhir dari slide. - Setiap kolom dipisahkan oleh kolom spasi untuk membuatnya terlihat lebih seperti persegi.
Inilah yang harus Anda lakukan:
- Input Anda adalah daftar koordinat berbagai bagian yang telah ditempatkan di papan tulis.
- Koordinat mulai di
0
di alun-alun di luar Mulai dari warna bawah (kuning pada gambar), dan meningkat satu per persegi searah jarum jam. - Setelah 60 kotak ini, zona aman memiliki 20 koordinat berikutnya dan terakhir, mulai dari yang di bawah (yang mendapat 60-64), kemudian bergerak searah jarum jam.
- Anda harus menempatkan bintang di
*
koordinat yang benar, menggantikan karakter di bawahnya untuk semua pemain. - Selain itu, jika ada pemain yang berada di kotak awal slider, pindahkan mereka ke ujung slider sebelum menempatkannya.
- Anda dapat mengasumsikan bahwa tidak akan ada tabrakan, sebelum atau setelah menyelesaikan slider.
- Anda tidak perlu khawatir tentang Rumah atau Mulai.
- Anda dapat diindeks 1 jika diinginkan, tetapi kotak uji diindeks 0.
Uji Kasus
[0, 20] ->
# > - - o # # # # > - - - o # #
# # S v
* # H # # # # # |
| # |
| # S o
| # #
^ H #
# #
# #
# H v
# # |
o S # |
| # |
| # # # # # H # o
^ S # #
# # o - - - < # # # # * - - < #
[2, 7, 66] ->
# > - - o # # # # > - - - o # #
# # S v
o # H # # # # # |
| # |
| # S o
| # #
^ H #
# #
# #
# H v
# # |
o S # |
| # |
| # * # # # H # o
^ S # #
# # o - * - < # # * # o - - < #
0, 5
dan yang kedua mungkin2, 60, 37
).Jawaban:
Python 2, 476 byte
Solusi 3 garis pendek ( Coba online )
One-liner di 534 ( Coba online ):
Saya menganggap indeks zona aman dengan cara ini:
Penjelasan (garis dipisahkan sedikit untuk pemahaman yang lebih baik):
sumber