บทนำ
Dobble / SpotItเป็นเกมไพ่ที่ผู้คนต้องมองเห็นสัญลักษณ์เดียวกันบนการ์ดในเวลาอันสั้นระบุและย้ายไปที่คู่ถัดไป การ์ดแต่ละใบมีหลายสัญลักษณ์ (8 ในรุ่นปกติ) แต่มีหนึ่งสัญลักษณ์ที่เหมือนกันระหว่างการ์ดแต่ละคู่
ท้าทาย
เขียนโปรแกรมที่ได้รับชุดของสัญลักษณ์ (ตัวอักษร ASCII เดียว) และจำนวนของสัญลักษณ์บนการ์ดใบเดียวจะผลิตบัตรรายการผลลัพธ์ด้วยสัญลักษณ์สำหรับการ์ดแต่ละใบ เห็นได้ชัดว่ามีชุดค่าผสมที่เทียบเท่าจำนวนมากโปรแกรมของคุณต้องเขียนชุดค่าผสมใด ๆ ที่สร้างการ์ดจำนวนมากที่สุดสำหรับอินพุตที่กำหนด
มันเป็นรหัส - กอล์ฟดังนั้นจึงย่อรหัสได้ดีกว่า
มันจะเป็นการดีถ้าการคำนวณจะเสร็จสิ้นก่อนที่ความร้อนจากจักรวาลจะเสียชีวิตสำหรับกรณีที่ซับซ้อนที่สุด
อินพุต
ข้อโต้แย้งสองข้อสำหรับฟังก์ชัน / stdin (ตัวเลือกของคุณ)
อันดับแรกคือการรวบรวมสัญลักษณ์บางอย่างเช่น 'ABCDE "หรือ [' A ',' B ',' C ',' D ',' E '] - รูปแบบที่คุณเลือกไม่ว่าจะเป็นสตริงชุดรายการสตรีม หรืออะไรก็ตามที่เป็นสำนวนสำหรับภาษาที่เลือกตัวละครจะได้รับจากชุดของ [A-Za-z0-9] ไม่มีการซ้ำซ้อน (ดังนั้นขนาดสูงสุดของชุดสัญลักษณ์อินพุตคือ 62) พวกเขาจะไม่ได้รับคำสั่งโดยไม่จำเป็น ( เพื่อให้คุณสามารถรับ "yX4i9A" ได้เช่นกันสำหรับตัวอักษร 6 ตัว)
อาร์กิวเมนต์ที่สองคือจำนวนเต็มซึ่งระบุจำนวนสัญลักษณ์บนบัตรเดียว มันจะเป็น <= ขนาดของชุดสัญลักษณ์
เอาท์พุต
พิมพ์หลายบรรทัดคั่นด้วยการขึ้นบรรทัดใหม่แต่ละบรรทัดมีสัญลักษณ์สำหรับการ์ดเดี่ยว
ตัวอย่าง
ABC
2
>>>>
AB
BC
AC
หรือ
ABCDEFG
3
>>>>
ABC
BDE
CEF
BFG
AEG
CDG
ADF
หรือ
ABCDE
4
>>>>
ABCD
คำแนะนำ
- จำนวนการ์ดที่ผลิตไม่สามารถมีขนาดใหญ่กว่าจำนวนสัญลักษณ์ที่แตกต่างกันและในชุดค่าผสมจำนวนมากจะมีขนาดเล็กกว่ามาก
- คุณอาจต้องการอ่านพื้นหลังคณิตศาสตร์บางอย่างหากคุณต้องการความช่วยเหลือด้านคณิตศาสตร์ของปัญหา
นี่เป็นความท้าทายครั้งแรกของฉันเกี่ยวกับการเล่นกอล์ฟดังนั้นโปรดให้อภัยปัญหาที่อาจเกิดขึ้นกับการจัดรูปแบบ / สไตล์ - ฉันจะพยายามแก้ไขข้อผิดพลาดหากคุณชี้ไปที่ความคิดเห็น
('abcdefghijklmnopqrstu', 5)
-> ['abcde', 'afghi', 'ajklm', 'anopq', 'arstu', 'bfjnr', 'bgkpt', 'bhlou', 'bimqs', 'cfkqu', 'cgjos', 'chmpr', 'cilnt', 'dfmot', 'dglqr', 'dhkns', 'dijpu', 'eflps', 'egmnu', 'ehjqt', 'eikor']
หรือโซลูชันการทำงานของการ์ด 21 ใบอื่น ๆ (โปรดทราบว่านี่คือระนาบ จำกัด projective ของคำสั่ง 4)