Hoặc có thể nó không thực sự là một mê cung, nhưng vẫn còn.
Quy tắc:
Đầu vào là một chuỗi hai dòng, bao gồm
*
,1
,x
vàX
. Chuỗi đó là một mê cung để đi qua. Các dòng có độ dài bằng nhau .Bạn có thể lấy đầu vào dưới dạng một chuỗi bằng
,
(dấu phẩy) hoặc bất kỳ dấu phân cách thuận tiện nào giữa hai dòng này. Hoặc bạn có thể lấy cả hai dòng làm đối số riêng biệt cho hàm của mình.Đầu ra là số bước bạn phải thực hiện để thoát chuỗi (bước cuối cùng là bước di chuyển bạn ra khỏi chuỗi).
Bạn bắt đầu ở góc trên cùng bên trái (dòng cao hơn), trước biểu tượng đầu tiên.
Đối với mỗi bước, bạn di chuyển về phía trước bởi một biểu tượng (từ thứ n để (n + 1) lần thứ vị trí ). Sau đó, tùy thuộc vào nhân vật bạn bước vào, kết quả là khác nhau. Đây là những gì mỗi char làm:
*
- không có gì. Bạn chỉ cần bước vào nó bình thường.x
- một khi bạn bước lên nó, chuyển dòng, nhưng vẫn giữ nguyên khoảng cách ngang từ đầu. Ví dụ, bạn bước lên vị trí thứ ba của dòng cao hơn và gặp một chữ thườngx
ở đây. Sau đó, bạn ngay lập tức di chuyển đến dòng dưới, nhưng một lần nữa ở vị trí thứ ba.X
- chuyển dòng và đi đến vị trí tiếp theo. Ví dụ tương tự ở đó, nhưng bạn cũng di chuyển từ vị trí thứ ba sang vị trí thứ tư (do đó bạn đang ở dòng thứ hai ở vị trí thứ tư).1
- chỉ cần di chuyển về phía trước bởi một vị trí khác.
Khi mỗi nhân vật thực hiện công việc của mình, nó sẽ được thay thế bằng một khoảng trắng và không còn "hoạt động" nữa.
Ví dụ sau.
Đầu vào :
x *
Như đã nói, bạn bắt đầu trước biểu tượng đầu tiên của dòng đầu tiên. Bước đầu tiên chuyển bạn trên thư
x
và thư này chuyển bạn đến dòng thứ hai. Chữx
không còn chức năng nhưx
, nhưng thay thế bằng*
. Điều này sẽ có liên quan hơn trong các ví dụ sau. Bây giờ bạn đang có một dấu sao ở dòng dưới và nó không làm gì cho bạn.Bước thứ hai là đưa bạn về phía trước và bạn thoát khỏi chuỗi, vì vậy mê cung đã hoàn thành và phải mất 2 bước.
Đầu ra
2
.Đầu vào :
xX* x1*
Bước 1 : bạn di chuyển trên
x
, di chuyển bạn trênx
dòng dưới. Ở đây có quy tắc nói rằng ký tự được sử dụng được thay thế bằng dấu hoa thị. Sau đó, bạn quay trở lại dòng đầu tiên, nhưng nó không cònx
ở đó nữa , vì nó đã được sử dụng và trở thành một dấu sao. Vì vậy, bạn di chuyển an toàn trên dấu sao này và bước hoàn thành (bây giờ bạn đang ở vị trí đầu tiên của dòng đầu tiên).Bước 2 : bạn tiến lên
X
, nó đẩy bạn xuống dòng dưới và sau đó đẩy bạn về phía trước. Bây giờ bạn cư trú ở vị trí thứ ba của dòng thứ hai (dấu hoa thị), chưa bao giờ truy cập vị trí thứ hai (có chứa1
).Bước 3 : bạn tiến lên phía trước, thoát khỏi chuỗi.
Đầu ra :
3
.
Các trường hợp thử nghiệm:
Đầu vào:
*1* xxx
Đầu ra :
3
. (vì1
làm cho bạn nhảy lên vị trí thứ ba). Ở đó bạn không bao giờ truy cập vào dòng thứ hai, nhưng nó là một phần bắt buộc của đầu vào.Đầu vào:
*X*1*x x*1xx*
Đầu ra :
4
.Đầu vào:
1x1x ***X
Đầu ra :
3
.Đầu vào:
1*x1xxx1*x x*x1*11X1x
Đầu ra :
6
.Đầu vào:
xXXXxxx111* **xxx11*xxx
Đầu ra :
6
.
"\n\n"
là một chuỗi hai dòng ...
1
, khi bạn bắt đầu trước dòng thứ 1, sau đó bạn tiến lên một bước, và sau đó bạn hoàn thành mê cung ...