Tantangan Anda hari ini adalah mengambil masukan seperti ini:
fbcfbee
ffcabbe
debceec
bccabbe
edcfbcd
daeaafc
eebcbeb
Dan hasilkan langkah terbaik yang mungkin ada dalam game seperti Bejeweled yang akan cocok dengan tiga atau lebih huruf, seperti ini (perhatikan ibukota B
dan C
):
fbcfbee
ffcabbe
deBCeec
bccabbe
edcfbcd
daeaafc
eebcbeb
Spesifikasi lengkap:
- Masukan akan berupa
n
barisn
huruf kecil masing-masing (di manan
bisa nomor apa saja). - Outputnya akan menjadi langkah terbaik yang bisa Anda lakukan dalam pertandingan-3, dengan dua huruf yang ingin Anda tukarkan dengan huruf besar.
Kecocokan harus memiliki prioritas berikut (dalam contoh ini,
.
menunjukkan kotak yang tidak masalah):Lima berturut-turut
xxYxx ..X..
Rusak lima berturut-turut
X.. Yxx x.. x..
atau
.X. xYx .x. .x.
Empat berturut-turut
xYxx .X..
Tiga berturut-turut
xYx .X.
Anda harus menemukan kecocokan prioritas tertinggi dan menghasilkannya.
- Jika ada beberapa kecocokan dengan prioritas yang sama, Anda dapat mengeluarkan salah satu dari mereka.
- Akan selalu ada setidaknya satu pertandingan (program Anda dapat rusak jika tidak ada pertandingan, atau melakukan apa pun yang Anda inginkan).
- I / O dapat dalam format apa pun yang masuk akal (stdin / out, membaca dan menulis file, argumen fungsi / nilai pengembalian, kotak dialog, dll.) Tetapi TIDAK di-hardcode (seperti
x="[insert input here]"
). - Ini adalah kode-golf sehingga kode terpendek dalam byte menang. Jika Anda menggunakan akses jaringan apa pun karena beberapa alasan, semua byte yang diunduh dari jaringan dihitung berdasarkan skor Anda.
1
+1, tapi saya memprotes judulnya; mungkin ada langkah yang lebih baik. Misalnya, satu yang membuat dua balita, atau satu yang menyebabkan drop untuk membuat lebih banyak barang.
—
Justin
Apakah patah lima-dalam-baris juga menutupi
—
Peter Taylor
..x.\nxxYX\n..x.
?
@ Peter Ya, benar.
—
Gagang Pintu
Ada 2 patah 5 dalam pola baris: pola L dan pola T. Apakah Anda membutuhkan keduanya untuk dicocokkan?
—
n̴̖̋h̷͉̃a̷̭̿h̸̡̅ẗ̵̨́d̷̰̀ĥ̷̳
@nhahtdh Ya, saya akan mengedit untuk mengklarifikasi itu.
—
Gagang Pintu