Game dadu Mia memperkenalkan urutan set yang sangat non-sepele ukuran dua:
{3,1} < {3,2} < {4,1} < {4,2} < {4,3} < {5,1} < {5,4} < {6,1} < {6,5} < {1,1} < {2,2} < {6,6} < {1,2}
Secara umum, urutan dalam tupel tidak masalah {x,y}={y,x},
{1,2}lebih besar dari yang lain, Pasangan lebih besar dari non-pasangan dan nilai numerik memutuskan dalam kasus dasi.
Sekarang anggaplah Anda ingin menggunakan ndadu. Juga, dadu memiliki mwajah.
Contoh:
{1,5,3,4} < {1,2,6,3}sejak 5431 <6321{1,2,3,5} < {1,1,5,6} < {1,1,5,5}, {1,1,6,6} < {1,1,1,3} < {2,2,2,3} < {1,1,1,1} < {1,2,3,4}{2,2,5} < {1,1,6}karena kedua set memiliki masing-masing satu pasangan dan 611> 522
Singkatnya, {1, ..., n}lebih besar dari yang lainnya. Biarkan p > q, maka p-of-a-kind lebih besar dari q-of-a-kind. Dalam hal seri, yang kedua (, ketiga, ...) - kemenangan jenis terpanjang. Akhirnya, jika belum ada keputusan yang dibuat, nilai numerik terbesar akan menang. Nilai numerik suatu himpunan adalah bilangan bulat terbesar yang dapat Anda bangun dari angka yang tersedia di himpunan, menggunakan gabungan. Contoh:
{2,5,4,3}menjadi 5432{4,11,3,4}menjadi B443 (> dadu bermuka 6 diperbolehkan, B = 11)
Tugas Anda adalah untuk menulis program sekecil mungkin (yaitu fungsi) dalam bahasa pilihan Anda, yang, diberikan dua wadah (daftar, array, set, ...) mengembalikan apakah yang pertama atau yang kedua menang.
Catatan: Anda dapat mengasumsikan bahwa kedua wadah memiliki panjang yang sama dan hanya berisi bilangan bulat positif, tetapi tidak ada yang lain. Terutama mereka mungkin tidak diurutkan. Nilai pengembalian bisa berupa apa saja, misalnya {-1, 0, 1} untuk {kemenangan pertama, seri, kemenangan kedua}.
{1,1,6},{2,2,5}? Apakah Anda membandingkan nilai numerik p-of-a-kind terbesar atau dadu apa pun?