Giới thiệu
Jonny muốn chơi Frogger. Tuy nhiên, anh ấy không tốt lắm. Trên thực tế, anh ta sẽ chỉ cố gắng tiến về phía trước, và chỉ sau khi các nền tảng đã di chuyển.
Tìm hiểu xem con ếch của Jonny có thể đi đến cuối con đường hay nó chết trên đường đi.
Thử thách
Chương trình sẽ được nhận dưới dạng đầu vào lưới Frogger được tạo bởi 0
s và 1
s, với định dạng sau:
- Lưới sẽ có chiều rộng và chiều dài ngẫu nhiên, và ít nhất 3x3
1
đại diện cho nền tảng0
đại diện cho nướcF
đại diện cho vị trí bắt đầu của ếch- Mỗi dòng đầu tiên và cuối cùng của lưới sẽ chỉ được tạo bởi
1
s, và sẽ không di chuyển, và con ếchF
sẽ được đặt ngẫu nhiên trên dòng cuối cùng - Mỗi lớp trung gian sẽ luôn luôn chuyển động và sẽ có một
<
hoặc>
ở cuối mỗi dòng cho biết nếu nó di chuyển sang trái hay phải
Việc thay thế các biểu tượng này bằng biểu tượng của riêng bạn được cho phép, miễn là chúng hoàn toàn khác biệt và bạn chỉ định các thay thế trong câu trả lời của mình.
Đầu vào có thể ở bất kỳ định dạng tương thích nào (chuỗi có ngắt dòng, mảng chuỗi, mảng ký tự, ...).
Quy tắc thử thách
- Mỗi lượt, tất cả các nền tảng sẽ di chuyển một hình vuông, dựa trên hướng được chỉ định bởi
<
hoặc>
dấu hiệu - Các nền tảng xuất hiện lại ở phía bên kia của lưới nếu chúng bị đẩy ra khỏi "màn hình"
- Nếu con ếch ở trên một nền tảng di chuyển, nó sẽ di chuyển cùng với nó
- Sau đó, con ếch sẽ nhảy một hình vuông về phía hàng trên cùng. Con ếch sẽ di chuyển mỗi lượt.
- Con ếch chết nếu nó nhảy trong nước (
0
) hoặc nó chạm vào mặt bên của lưới cùng với một nền tảng di chuyển
Chương trình của bạn phải xuất ra một giá trị trung thực nếu con ếch sống sót và giá trị giả khác.
Đây là môn đánh gôn , vì vậy câu trả lời ngắn nhất bằng byte sẽ thắng. Tiêu chuẩn áp dụng.
Ví dụ
ví dụ 1
Đầu vào
11111
00111>
00101<
1F111
Đầu ra
1
Chấp hành
Biến 1:
11111
10011
01010
1F111
11111
10011
0F010
11111
Biến 2:
11111
11001
F0100
11111
11111
F1001
10100
11111
Biến 3:
11111
1F100
01001
11111
1F111
11100
01001
11111
Ví dụ 2
Đầu vào
11111
00100<
00100<
1F111
Đầu ra
0
Chấp hành
Biến 1:
11111
01000
01000
1F111
11111
01000
0F000
11111
Biến 2:
11111
10000
F0000
11111
11111
F0000
10000
11111
Biến 3:
11111
00001
00001
11111
<
hoặc >
ở cuối.
0
ở phía trước nó, hay nó sẽ đợi con tiếp theo 1
? Nếu nó có thể chờ đợi, nó sẽ tiếp tục 1
, hay nó có thể chờ đợi một cách thông minh? Tức là với trường hợp thử nghiệm 11111 00001< 00011< 11F11
, nó sẽ là chim ưng vì nó nhảy trong nước ( pastebin của các bước ); nó sẽ là falsey vì nó di chuyển ra khỏi khung hình ( pastebin của các bước ); hoặc nó sẽ là sự thật bởi vì nó chờ đợi thông minh cho nền tảng thứ hai trước khi nhảy về phía trước ( pastebin của các bước )?
0
.
<
hoặc>
vì vậy chúng ta có thể lấy các mảng hình chữ nhật làm đầu vào không? Nhân tiện, thử thách tốt đẹp!