การป้อนข้อมูล:
อินพุตคืออาร์เรย์ของถั่วแบบสุ่ม (ในภาษาของคุณ) ถั่วที่เป็นไปได้มีดังนี้ โปรแกรมของคุณต้องมีวิธีในการเป็นตัวแทนของถั่วแต่ละชนิดเช่นรหัสจำนวนเต็ม โปรแกรมจะต้องสามารถจัดการขนาดอาร์เรย์ของการกำหนดค่าของถั่วใด ๆ
ถั่วที่เป็นไปได้:
Kola nut
Macadamia
Mamoncillo
Maya nut
Mongongo
Oak acorns
Ogbono nut
Paradise nut
Pili nut
Pistachio
Walnut
เอาท์พุท:
เอาต์พุตจะต้องเป็นอาเรย์ที่เรียงลำดับตามแบบที่ไม่มีถั่วชนิดเดียวกัน หากเป็นไปไม่ได้ผลลัพธ์ควรเป็นอาเรย์ที่ว่างเปล่า
ตัวอย่างอินพุท (ประยุกต์):
["walnut", "walnut", "pistachio"]
ตัวอย่างผลลัพธ์:
["walnut", "pistachio", "walnut"]
การแก้ปัญหาอาจไม่เพียงแค่สับเปลี่ยนอาเรย์จนกว่าจะมีความเป็นเอกลักษณ์โดยบังเอิญ ประเภทการจ้างงานจะต้องกำหนดขึ้น
perl6 -e 'my @a="aaaaabbbbccccdddee".comb;my @b = @a.pick(*) while @b.squish !== @a;say [~] @b'
baedcbdacdecbabaca
(3,3,2) อาจทำให้พวกเขาล้มเหลวด้วย