pengantar
Jonny ingin bermain Frogger. Namun, dia tidak terlalu baik. Faktanya, dia hanya akan mencoba untuk bergerak maju, dan hanya setelah platform telah bergerak.
Cari tahu apakah katak Jonny berhasil mencapai ujung jalan atau jika mati di jalan.
Tantangan
Program akan menerima sebagai masukan kisi Frogger yang disusun oleh 0
s dan 1
s, dengan format berikut:
- Kotak akan memiliki lebar dan panjang acak, dan setidaknya 3x3
1
mewakili platform0
mewakili airF
mewakili posisi awal katak- Setiap baris pertama dan terakhir dari grid akan disusun oleh hanya
1
s, dan tidak akan bergerak, dan katakF
akan ditempatkan secara acak di baris terakhir - Setiap lapisan menengah akan selalu bergerak, dan akan memiliki
<
atau>
di akhir setiap baris yang menunjukkan apakah itu bergerak ke kiri atau ke kanan
Mengganti simbol-simbol ini dengan simbol Anda diperbolehkan, asalkan semuanya berbeda dan Anda menentukan penggantian dalam jawaban Anda.
Input dapat dalam format apa pun yang kompatibel (string dengan jeda baris, larik string, larik karakter, ...).
Aturan Tantangan
- Setiap belokan, semua platform akan bergerak satu kotak, berdasarkan arah yang ditunjukkan oleh tanda
<
atau>
- Platform muncul kembali di sisi lain grid jika terdesak "layar"
- Jika katak berada di platform bergerak, ia akan bergerak bersamanya
- Setelah itu, katak akan melompat satu kotak ke arah baris atas. Katak akan bergerak setiap belokan.
- Katak mati jika melompat di air (
0
) atau menyentuh sisi grid bersama dengan platform yang bergerak
Program Anda harus menampilkan nilai kebenaran jika katak bertahan dan nilai palsu sebaliknya.
Ini adalah kode-golf , jadi jawaban tersingkat dalam byte menang. Celah standar berlaku.
Contohnya
Contoh 1
Memasukkan
11111
00111>
00101<
1F111
Keluaran
1
Eksekusi
Putar 1:
11111
10011
01010
1F111
11111
10011
0F010
11111
Putar 2:
11111
11001
F0100
11111
11111
F1001
10100
11111
Belok 3:
11111
1F100
01001
11111
1F111
11100
01001
11111
Contoh 2
Memasukkan
11111
00100<
00100<
1F111
Keluaran
0
Eksekusi
Putar 1:
11111
01000
01000
1F111
11111
01000
0F000
11111
Putar 2:
11111
10000
F0000
11111
11111
F0000
10000
11111
Belok 3:
11111
00001
00001
11111
<
atau >
di akhir.
0
di depannya, atau akankah ia menunggu yang berikutnya 1
? Jika itu bisa menunggu, apakah akan maju pada setiap 1
, atau dapatkah itu menunggu dengan cerdas? Yaitu dengan test case 11111 00001< 00011< 11F11
, apakah itu palsu karena melompat di air ( pastebin langkah ); apakah itu palsu karena ia bergerak keluar dari bingkai ( pastebin langkah ); atau akankah itu benar karena ia menunggu dengan cerdas untuk platform kedua sebelum melompat maju ( pastebin langkah )?
0
.
<
atau>
jadi kita dapat mengambil array persegi panjang sebagai input? Ngomong-ngomong, tantangan bagus!