Thử thách này được lấy cảm hứng từ một trò chơi cờ tôi đã chơi cách đây một thời gian.
Câu chuyện về thử thách này không nhất thiết phải được đọc, mục tiêu của phần thử thách sẽ giải thích mọi thứ cần thiết.
Câu chuyện
Mọi người bị nhốt trong một căn phòng lớn với một con quái vật ăn thịt người. Các bức tường của căn phòng bị mê hoặc, dịch chuyển các vật thể khắp phòng khi chạm vào. Quái vật nói diễu hành khắp phòng, săn lùng xác thịt. Con người đầu tiên trong tầm nhìn của nó sẽ bị tiêu thụ bởi hàm răng sắc nhọn của nó.
Mục tiêu của thử thách
Bạn được cung cấp bản đồ của căn phòng, bao gồm cả người và vị trí của quái vật.
%%%KLMNOPQRSTA%
%%J B
%I % C
H D
G %% E
F F
E % G
D H
C % I%
B J%%
%ATSRQPONMLK%%%
Hãy chia nhỏ các thành phần của bản đồ.
- Thư từ
AđếnT: Nếu quái vật bước lên một trong số này, nó sẽ được dịch chuyển đến lần xuất hiện thứ hai của bức thư này và không thay đổi hướng của nó. Sẽ không bao giờ có 0 hoặc 2 chữ cái nào trên bảng. %: Gạch ốp tường. Chỉ để định dạng và ngoại hình đẹp.#: Vị trí bắt đầu của quái vật.*: Địa điểm của mọi người.: Gạch rỗng, quái vật có thể di chuyển tự do trên chúng.
Một số điều cần lưu ý về bản đồ:
- Kích thước bản đồ và vị trí đối tượng sẽ không đổi, do đó mã của bạn sẽ phải tự động thích ứng với điều đó.
Con quái vật sẽ luôn đi theo hướng mà nó hiện đang đối mặt (hướng về phía tây khi bắt đầu) trừ khi nó phát hiện ra một con người, trong trường hợp đó nó sẽ hướng về phía con người gần nhất .
Quái vật phát hiện ra một con người nếu không có gạch ốp tường hoặc dịch chuyển trong một đường thẳng hoặc ngang thẳng đứng giữa nó và con người.
Một điều cần lưu ý là nếu quái vật ở phía trước một bức tường vững chắc ( %) hoặc phải quyết định giữa hai người, nó sẽ luôn ưu tiên từ phải qua trái.
Nếu con quái vật không thể rẽ phải và tiến lên một bước vì một lý do nào đó, nó sẽ rẽ trái .
Vì vậy, cuối cùng, thứ tự mà con quái vật ưu tiên chỉ đường sẽ khiến chúng ta tiến lên, phải, trái, lùi.
Đầu vào
- Bản đồ, bao gồm vị trí bắt đầu của quái vật và vị trí của mọi người như các nhân vật tương ứng của họ. Không nên có bất kỳ đầu vào nào khác ngoài chuỗi bản đồ hoặc mảng chuỗi hoặc ký tự.
Đầu vào có thể được nhận ở bất kỳ định dạng hợp lý; một chuỗi đơn hoặc một chuỗi các chuỗi cho bản đồ.
Đầu ra
Sự phối hợp của người đầu tiên bị quái vật ăn thịt.
Các tọa độ bắt đầu từ góc trên bên trái và được lập chỉ mục 0, vì vậy ô đầu tiên sẽ có tọa độ (0 | 0). Nếu bạn đang sử dụng lập chỉ mục 1, vui lòng chỉ định nó trong câu trả lời của bạn.
Quy tắc
- Đây là code-golf , mã ngắn nhất tính bằng byte trong bất kỳ ngôn ngữ nào đều thắng.
- Sơ hở tiêu chuẩn bị cấm.
- Bạn có thể cho rằng quái vật sẽ luôn có thể tiếp cận một con người.
Các trường hợp thử nghiệm
Đầu vào:
%%%KLMNOPQRSTA%
%%J B
%I %* C
H * D
G %% E
F # F
E % G
D * H
C % I%
B J%%
%ATSRQPONMLK%%%
Đầu ra : (10,2), vì quái vật không thể nhìn thấy hai người khác khi nó chạy qua họ, nó bị dịch chuyển sang Fbức tường khác , nơi nó sẽ nhìn thấy người cuối cùng.
Đầu vào:
%%%KLMNOPQRSTA%
%%J B
%I * C
H %%% * D
G #% E
F %%% % F
E G
D % H
C * I%
B * J%%
%ATSRQPONMLK%%%
Đầu ra: (12,3)
Đầu vào:
%%%KLMNOPQRSTA%
%%J B
%I %%% C
H *%#% D
G E
F F
E % G
D H
C I%
B J%%
%ATSRQPONMLK%%%
Đầu ra: (6, 3)
Đầu vào:
%%%%%%%%%%%%%%%
%#% %%% %
%A%ABCD %*% %
%*F G %%% %
% %BC% FD %
% % % %%%%
% % % %%
% % %% G %
% %
%*% % % %
%%%%%%%%%%%%%%%
Đầu ra: (1,9)
Chúc may mắn!