Dalam gim Pickomino , ada beberapa ubin yang terletak di tengah meja, masing-masing dengan bilangan bulat positif yang berbeda. Setiap belokan, pemain melempar dadu dengan cara tertentu dan mendapatkan skor, yang merupakan bilangan bulat negatif
Sekarang pemain mengambil ubin dengan angka tertinggi yang masih lebih rendah atau sama dengan skor mereka, menghapus ubin dari tengah dan menambahkannya ke tumpukan mereka. Jika ini tidak memungkinkan karena semua angka di tengah lebih tinggi dari skor pemain, pemain kehilangan ubin paling atas dari tumpukan mereka (yang ditambahkan terbaru), yang dikembalikan ke tengah. Jika pemain tidak memiliki ubin yang tersisa, tidak ada yang terjadi.
Tantangan
Simulasikan pemain yang memainkan permainan melawan diri mereka sendiri. Anda mendapatkan daftar ubin di tengah dan daftar skor yang didapat pemain. Kembalikan daftar ubin pemain setelah semua belokan dievaluasi.
Aturan tantangan
- Anda dapat mengasumsikan bahwa daftar dengan ubin disusun dan tidak mengandung bilangan bulat dua kali.
- Anda dapat mengambil kedua daftar input dalam urutan apa pun yang Anda inginkan
- Keluaran harus menjaga urutan ubin pada tumpukan, tetapi Anda dapat memutuskan apakah daftar diurutkan dari atas ke bawah atau dari bawah ke atas.
Aturan umum
- Ini adalah kode-golf , jadi jawaban tersingkat dalam byte menang.
Jangan biarkan bahasa kode-golf mencegah Anda dari memposting jawaban dengan bahasa yang bukan kode. Cobalah untuk memberikan jawaban sesingkat mungkin untuk bahasa pemrograman 'apa pun'. - Aturan standar berlaku untuk jawaban Anda dengan aturan I / O default , sehingga Anda diizinkan untuk menggunakan STDIN / STDOUT, fungsi / metode dengan parameter yang tepat dan tipe pengembalian, program penuh.
- Celah default tidak diperbolehkan.
- Jika memungkinkan, silakan tambahkan tautan dengan tes untuk kode Anda (yaitu TIO ).
- Dianjurkan menambahkan penjelasan untuk jawaban Anda.
Contoh
(diambil dari testcase ke-6)
Tiles: [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36]
Scores: [22, 22, 22, 23, 21, 24, 0, 22]
Skor pertama adalah 22, jadi ambil petak tertinggi di tengah <= 22, yaitu 22 itu sendiri.
Middle: [21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36]
Stack: [22]
Remaining scores: [22, 22, 23, 21, 24, 0, 22]
Skor berikutnya adalah 22, jadi ambil ubin tertinggi di tengah <= 22. Karena 22 sudah diambil, pemain harus mengambil 21.
Middle: [23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36]
Stack: [22, 21]
Remaining scores: [22, 23, 21, 24, 0, 22]
Skor berikutnya adalah 22, tetapi semua angka <= 22 sudah diambil. Oleh karena itu, pemain kehilangan ubin paling atas di tumpukan (21), yang dikembalikan ke tengah.
Middle: [21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36]
Stack: [22]
Remaining scores: [23, 21, 24, 0, 22]
Skor berikutnya adalah 23, 21 dan 24, sehingga pemain mengambil ubin ini dari tengah.
Middle: [25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36]
Stack: [22, 23, 21, 24]
Remaining scores: [0, 22]
Pemain itu gagal dan skor nol. Oleh karena itu, ubin dengan nomor 24 (paling atas pada tumpukan) dikembalikan ke tengah.
Middle: [24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36]
Stack: [22, 23, 21]
Remaining scores: [22]
Skor terakhir adalah 22, tetapi semua ubin <= 22 sudah diambil, sehingga pemain kehilangan ubin paling atas di tumpukan (21).
Middle: [21, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36]
Final Stack and Output: [22, 23]
Uji kasus
(dengan ubin paling atas terakhir dalam daftar output)
Tiles: [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36]
Scores: [26, 30, 21]
Output: [26, 30, 21]
Tiles: [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36]
Scores: [35, 35, 36, 36]
Output: [35, 34, 36, 33]
Tiles: [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36]
Scores: [22, 17, 23, 19, 23]
Output: [23]
Tiles: [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36]
Scores: []
Output: []
Tiles: [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36]
Scores: [22, 17, 23, 19, 23, 0]
Output: []
Tiles: [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36]
Scores: [22, 22, 22, 23, 21, 24, 0, 22]
Output: [22, 23]
Tiles: [1, 5, 9, 13, 17, 21, 26]
Scores: [6, 10, 23, 23, 23, 1, 0, 15]
Output: [5, 9, 21, 17, 13, 1]
Tiles: []
Scores: [4, 6, 1, 6]
Output: []