Satu set domino standar memiliki 28 buah unik:
Diberikan daftar 28 atau kurang domino unik, tampilkan daftar yang diperlukan untuk membuat set lengkap.
Input dan output domino ditentukan oleh dua digit - jumlah pips pada setiap sisi domino yang, misalnya 00
, 34
, 40
, 66
.
Digit dapat diberikan dalam urutan apa pun, demikian 34
juga dengan domino yang sama43
Contoh Input
00 01 02 03 04 05 06 11 12 13 14 15 16 22 23 24 25 26 33 34 35 36 44 45 46 55 56 66
00 10 11 20 21 22 30 31 32 33 40 41 42 43 44 50 51 52 53 54 55 60 61 62 63 64 65 66
00 01 02 03 04 05 06 11 12 13 14 15 16 22 23 24 25 26 34 35 36 44 45 46 55 56 66
00 02 03 04 05 06 11 13 14 15 16 22 24 25 26 33 35 36 44 46 55 66
<empty list>
Keluaran Contoh yang Sesuai
<empty list>
<empty list>
33
01 12 23 34 45 56
00 01 02 03 04 05 06 11 12 13 14 15 16 22 23 24 25 26 33 34 35 36 44 45 46 55 56 66
03 16
=[0, 3], [1, 6]
?Jawaban:
CJam, 11 byte
Blok tanpa nama (fungsi) dengan I / O sebagai daftar pasangan bilangan bulat.
Uji di sini.
Penjelasan
sumber
{}
tanda kurung?Pyth,
1210 byteInput dan output dalam format
[[0, 0], [0, 1], ...]
.Coba di sini.
Terima kasih kepada @ MartinBüttner untuk menghemat 2 byte dengan format input / output yang berbeda!
sumber
JavaScript (diusulkan ES7),
8076 byteMengambil input sebagai string yang dipisahkan spasi dan mengembalikan array string. Pemahaman array sangat menarik bagi mereka yang satu ini.
sumber
Ruby 74 byte
Mengambil array string, mengembalikan array string.
Berkomentar dalam program uji
Keluaran
Pada contoh terakhir (daftar kosong masukan) catat urutan pembuatan daftar lengkap domino menggunakan aritmatika modular. 7 ganda dihasilkan pertama, kemudian 7 domino dengan selisih 1 (atau 6) pip di setiap sisi, lalu 7 domino dengan selisih 2 (atau 5) pip, dan akhirnya 7 domino dengan selisih 3 (atau 4) pips.
sumber
Julia 0,6 , 47 byte
Cobalah online!
(Rentang mulai dikoreksi berkat JayCe.)
48 byte
Cobalah online!
sumber
Perl, 48 + 1 = 49 byte
Membutuhkan
-n
bendera, dan gratis-M5.010
|-E
:Jawabannya cukup membosankan secara keseluruhan, tapi ini dia versi yang tidak diserang:
sumber
Python 2 , 91 byte
Cobalah online!
sumber
JavaScript (SpiderMonkey) , 69 byte
Cobalah online!
dioptimalkan dari Neil
sumber
R , 111 byte
Cobalah online!
Tidak benar-benar bangga dengan ini, tetapi R tidak terlalu "golfy" dalam membelah / menggabungkan string ...
sumber
05AB1E ,
1211 byte-1 byte terima kasih kepada @Emigna .
Cobalah online.
Penjelasan:
sumber
Mathematica, 49 byte
Input adalah daftar daftar bilangan bulat.
sumber
Java 8, 105 byte
Void lambda menerima yang bisa berubah
java.util.Set<String>
.Cobalah secara Online
Tidak disatukan
Ucapan Terima Kasih
sumber
int i=0,a,b;while(i<49
bisafor(int i=0,a,b;i<49;
.Jelly , 8 byte
Cobalah online!
Argumen adalah daftar panjang-2 daftar bilangan bulat. Footer mengubah input dari format dalam kasus uji ke format yang diterima solusi ini.
sumber
J,
26, 24 byte-2 byte terima kasih kepada FrownyFrog
(;(,.i.,])&.>i.7)
menghitung set lengkap (bagian ini bisa golf lebih lanjut, saya percaya. Dan tolong lakukan jika Anda melihat caranya ...)-.
diatur "minus"/:~"1
memesan setiap inputCobalah online!
Asli
Cobalah online!
sumber
(;(,.i.,])&.>i.7)
menghemat 2 (membalikkan urutan)Python 2,
8986 byteDisimpan beberapa byte dengan menyederhanakan pembuatan set domino.
Cobalah online!
Mengambil daftar string seperti ["00", "10", "02] sebagai argumen untuk kartu domino. Mengembalikan objek set python, yang merupakan daftar berbeda yang tidak berurutan.
Penjelasan
sumber
Haskell, 65 byte
Contoh penggunaan:
Iterate
a
dalam loop luar atas semua angka dari0
untuk6
danb
dalam loop batin atas semua angka daria
ke6
dan menjaga merekaab
di mana tidakab
jugaba
ditemukan dalam string masukan.sumber
Serius, 16 byte
Mengambil input sebagai daftar string, menampilkan daftar string
Cobalah online!
Penjelasan:
Sebenarnya , 13 byte (tidak bersaing)
Ini identik dengan jawaban Serius (dengan pengecualian input implisit dan
♂S
cara yang lebih pendek untuk mempersingkat setiap string input).Cobalah online!
sumber
raket
sumber