Tantangan ini terinspirasi oleh permainan papan yang saya mainkan beberapa waktu lalu.
Kisah tantangan ini tidak harus dibaca, yaitu tujuan dari tantangan- bagian harus menjelaskan semua yang diperlukan.
Cerita
Orang-orang terkunci di dalam ruangan besar dengan monster yang melahap manusia. Dinding ruangan terpesona, memindahkan benda-benda ke seberang ruangan saat disentuh. Kata monster itu berjalan melintasi ruangan, berburu daging. Manusia pertama yang terlihat akan dikonsumsi oleh giginya yang tajam.
Tujuan Tantangan
Anda diberi peta ruangan, termasuk lokasi orang dan monster.
%%%KLMNOPQRSTA%
%%J B
%I % C
H D
G %% E
F F
E % G
D H
C % I%
B J%%
%ATSRQPONMLK%%%
Mari kita jabarkan komponen peta.
- Surat dari
AkeT: Jika monster melangkah ke salah satu dari ini, itu akan dipindahkan ke penampilan kedua surat ini dan tidak mengubah arahnya. Hanya akan ada nol atau dua huruf apa pun di papan tulis. %: Ubin dinding. Hanya untuk memformat & terlihat bagus.#: Lokasi awal monster itu.*: Lokasi orang.: Ubin kosong, monster itu bisa bergerak bebas ke sana.
Beberapa hal tambahan yang perlu diperhatikan tentang peta:
- Dimensi peta dan lokasi objek tidak akan konstan, jadi kode Anda harus beradaptasi secara dinamis dengannya.
Monster itu akan selalu pergi ke arah yang saat ini dihadapinya (menghadap ke barat di awal) kecuali jika ia melihat manusia, dalam hal ini ia akan berbalik ke arah manusia terdekat .
Monster itu melihat manusia jika tidak ada ubin dinding atau teleporter dalam garis horizontal atau vertikal lurus antara manusia dan manusia.
Hal lain yang perlu diperhatikan adalah bahwa jika monster itu berada di depan dinding yang kokoh ( %) atau harus memutuskan antara dua manusia, itu akan selalu memprioritaskan tepat di sebelah kiri.
Jika monster itu tidak dapat berbelok ke kanan dan membuat langkah ke depan untuk beberapa alasan, itu akan berbelok ke kiri sebagai gantinya.
Jadi, pada akhirnya, urutan monster yang memprioritaskan arah adalah kita maju, kanan, kiri, mundur.
Memasukkan
- Peta, termasuk lokasi awal monster dan posisi orang-orang sebagai karakter masing-masing. Seharusnya tidak ada input selain string peta, atau larik string, atau karakter.
Input dapat diterima dalam format apa pun yang wajar; string tunggal atau array string untuk peta.
Keluaran
Koordinat orang yang pertama kali dimakan monster itu.
Koordinat mulai dari sudut kiri atas dan diindeks 0, sehingga ubin pertama akan memiliki koordinat (0 | 0). Jika Anda menggunakan pengindeksan 1, harap sebutkan dalam jawaban Anda.
Aturan
- Ini adalah kode-golf , kode terpendek dalam byte yang menang dalam bahasa apa pun.
- Celah standar dilarang.
- Anda mungkin berasumsi bahwa monster itu akan selalu dapat mencapai manusia.
Uji Kasus
Memasukkan:
%%%KLMNOPQRSTA%
%%J B
%I %* C
H * D
G %% E
F # F
E % G
D * H
C % I%
B J%%
%ATSRQPONMLK%%%
Keluaran:, (10,2)karena monster itu tidak dapat melihat dua orang lain ketika berlari melewati mereka, ia akan dipindahkan ke Fdinding lain , di mana ia kemudian akan melihat orang terakhir.
Memasukkan:
%%%KLMNOPQRSTA%
%%J B
%I * C
H %%% * D
G #% E
F %%% % F
E G
D % H
C * I%
B * J%%
%ATSRQPONMLK%%%
Keluaran: (12,3)
Memasukkan:
%%%KLMNOPQRSTA%
%%J B
%I %%% C
H *%#% D
G E
F F
E % G
D H
C I%
B J%%
%ATSRQPONMLK%%%
Keluaran: (6, 3)
Memasukkan:
%%%%%%%%%%%%%%%
%#% %%% %
%A%ABCD %*% %
%*F G %%% %
% %BC% FD %
% % % %%%%
% % % %%
% % %% G %
% %
%*% % % %
%%%%%%%%%%%%%%%
Keluaran: (1,9)
Semoga berhasil!