Sinopsis: Temukan karakter yang dilampirkan oleh
MYPOCKET
.
Contoh Input
MYPHEIF
YFOCKVH
MBNDEIF
TEUFTMY
ESNDUWP
KBOVUVO
CENWFKC
OPYMTEB
Contoh Output
F
BND
EUF
SNDUW
BOVUV
ENWF
Hah? Bagaimana kami mendapatkannya sebagai output? "Kantung" terkadang sulit dilihat. Ini akan membuatnya lebih jelas:
MYP HEIF Y F OCK VH M BND E JIKA T EUF TMY E SNDUW P K BOVUV O C ENWF KC OPYMTE B
Huruf-huruf tebal menunjukkan lingkaran karakter yang terhubung secara orthogonal satu sama lain yang terdiri dari string yang MYPOCKET
diulang-ulang. Program Anda harus menampilkan karakter yang ada di dalam lingkaran itu.
Catatan:
- Hanya akan ada satu "saku".
- Mengejar garis atau spasi baru setelah garis diizinkan.
- Sisa kotak juga dapat berisi karakter dari
MYPOCKET
, tetapi tidak dengan cara yang membuat bentuk cincin menjadi ambigu. - Tidak
M
selalu di sudut kanan atas. - "Kantung" dapat bergerak searah jarum jam atau berlawanan arah jarum jam.
- "Kantung" tidak akan bergerak ke arah diagonal - artinya, setiap huruf terhubung ke kiri, kanan, atas, atau bawah ke yang berikutnya.
Berikut input lain yang dapat Anda uji dengan program Anda.
Contoh Input
EKCYMOPD
KCOPHAYM
EKNDSEST
JETHACKE
KRMYPOBN
Contoh Output
HA
NDSES
HA
Jawaban:
Perl 5, 414
Penggunaan: simpan sebagai pocket.pl dan jalankan dengan:
Saya menggunakan fungsi rekursif untuk memaksa jalur, yang mungkin bukan yang terbaik, tetapi merupakan pendekatan pertama yang saya pertimbangkan.
Sementara itu berfungsi untuk kedua kasus uji saat ini ada beberapa peringatan:
Saya ingin terus mengerjakan ini, tetapi ingin menunjukkan bahwa ada minat pada pertanyaan! Senang mendokumentasikan proses saya jika membantu.
sumber
Python 2.7
571542509Bekerja sebagai program (perbankan pada fungsi rekursif) dan menerima input dari stdin.
Demo di sini.
Mengujinya (
ex1.txt
danex2.txt
merupakan contoh dari pertanyaan) -Versi tidak dikolomisasi dengan komentar -
Beri tahu saya, jika saya melakukan sesuatu yang bodoh atau sesuatu dapat dilakukan dengan lebih baik.
Saya tahu ini terlalu panjang, tapi itu yang terbaik yang bisa saya lakukan: P.
sumber