สร้างรหัสที่รับรายการและตัวเลขเป็นอินพุตและสร้างชุดค่าผสมที่เป็นไปได้ทั้งหมดด้วยความยาวของตัวเลข ตัวอย่างเช่นด้วยรายการ{0,1}และหมายเลข2 :
00
01
10
11
โปรแกรมของคุณไม่จำเป็นต้องคาดหวังว่าอักขระสองครั้งหรือมากกว่านั้นในรายการเช่น {0,0,0,0,0,1,1,1,5,5}
ตรวจสอบให้แน่ใจว่าคุณพิมพ์ชุดค่าผสมที่เรียงลำดับตามรายการ:
ด้วยรายการ{0,1}และหมายเลข5 (สร้างโดยรหัสบางส่วนของฉันซึ่งยาวเกินไปที่จะชนะ)
00000
00001
00010
00011
00100
00101
00110
00111
01000
01001
01010
01011
01100
01101
01110
01111
10000
10001
10010
10011
10100
10101
10110
10111
11000
11001
11010
11011
11100
11101
11110
11111
แต่ด้วยรายการ{1,0}และหมายเลข2 :
11
10
01
00
อย่างที่คุณเห็นรายการกลับรายการหมายถึงคำสั่งกลับรายการ
ลองดูโครงสร้างมันเหมือนต้นไม้
นี่คือโค้ดกอล์ฟดังนั้นโค้ดที่สั้นที่สุดในหน่วยไบต์ชนะ!