ลูกเต๋าที่ไม่ผ่านกรรมเป็นของเล่นเล็ก ๆ ที่ท้าทายความสามารถของเราในทฤษฎีความน่าจะเป็น เราต้องการคำจำกัดความเล็กน้อยสำหรับความท้าทายนี้:
พิจารณาลูกเต๋าสองลูกAและBที่ถูกโยนในเวลาเดียวกัน เราบอกว่าเต้นBถ้าความน่าจะเป็นของแสดงจำนวนขนาดใหญ่กว่าBเป็นอย่างเคร่งครัดมากกว่าความน่าจะเป็นของBแสดงเป็นตัวเลขที่มากกว่า
ตอนนี้พิจารณาชุดของสามลูกเต๋าที่มีป้ายชื่อ, B , C ชุดของลูกเต๋าดังกล่าวเรียกว่าไม่ผ่านกรรมวิธีถ้า
- ทั้งAเต้นB , Bเต้นCและCเต้นA
- หรือCเต้นB , Bเต้นและเต้นC
เป็นหนึ่งในตัวอย่างโปรดของฉันพิจารณาลูกเต๋า Grimeซึ่งมีด้านต่อไปนี้:
A: 3 3 3 3 3 6
B: 2 2 2 5 5 5
C: 1 4 4 4 4 4
น่าสนใจค่าเฉลี่ยของการตายแต่ละครั้งเท่ากับ 3.5 เหมือนกับการตายปกติ
สามารถแสดงให้เห็นว่า:
- เต้นBที่มีความน่าจะเป็นของ 7/12
- Bเต้นCด้วยความน่าจะเป็นที่ 7/12
- Cเต้นAด้วยความน่าจะเป็นที่ 25/36
ตอนนี้ลูกเต๋าโดยเฉพาะเหล่านี้ก็ยิ่งแปลก หากเราหมุนแต่ละครั้งสองครั้งและเพิ่มผลลัพธ์ลำดับของการเต้นที่ได้รับการกลับรายการ:
- B beats A ที่มีความน่าจะเป็น 85/144
- Cเต้นBด้วยความน่าจะเป็น 85/144
- Aเต้นC ที่มีความน่าจะเป็น 671/1296
ขอเรียกชุดของลูกเต๋ากับอสังหาริมทรัพย์นี้Grime-nontransitive
ในทางตรงกันข้ามถ้าลูกเต๋ารักษาวงจรเดิมของพวกเขาเมื่อใช้สองโยนเราเรียกพวกเขาnontransitive อย่างยิ่ง (หากไม่มีการวนรอบสองครั้งสำหรับการโยนสองครั้งเราเพียงเรียกพวกเขาว่าไม่มีการถ่ายทอด )
ความท้าทาย
รับสามลูกเต๋าหกด้านตรวจสอบซึ่งคุณสมบัติดังกล่าวข้างต้นชุดนี้มีและเป็นหนึ่งในการส่งออกของสายต่อไปนี้: none
, nontransitive
, ,Grime-nontransitive
strongly nontransitive
คุณสามารถเขียนโปรแกรมหรือฟังก์ชั่นรับอินพุตผ่าน STDIN, อาร์กิวเมนต์บรรทัดคำสั่ง, พร้อมท์หรืออาร์กิวเมนต์ของฟังก์ชันและเขียนผลลัพธ์ไปที่ STDOUT หรือส่งคืนเป็นสตริง
คุณอาจคิดว่าทุกด้านเป็นจำนวนเต็มไม่เป็นลบ คุณไม่สามารถสรุปได้ว่าด้านข้างหรือลูกเต๋าอยู่ในลำดับใดโดยเฉพาะ คุณสามารถป้อนข้อมูลในรายการที่สะดวกหรือรูปแบบสตริง
นี่คือรหัสกอล์ฟดังนั้นคำตอบที่สั้นที่สุด (เป็นไบต์) ชนะ
กรณีทดสอบ
none
1 2 3 4 5 6, 6 5 4 3 2 1, 1 3 5 2 4 6
1 1 1 6 6 6, 4 4 4 5 5 5, 5 5 5 5 5 5
1 1 2 5 6 6, 2 2 3 4 4 6, 2 3 3 4 4 5
0 1 2 3 4 5, 1 1 2 3 3 5, 1 2 2 2 3 5
3 13 5 7 13 7, 5 7 11 5 7 13, 5 9 13 5 7 9
nontransitive
1 2 2 4 6 6, 1 2 3 5 5 5, 2 3 4 4 4 4
1 4 4 4 4 4, 2 2 2 4 5 6, 2 3 3 3 5 5
1 2 1 6 5 6, 3 1 3 6 2 6, 2 4 2 4 4 5
3 4 6 6 7 7, 4 4 4 7 7 7, 5 5 5 5 6 7
2 5 11 11 14 14, 5 5 5 14 14 14, 8 8 8 8 8 17
Grime-nontransitive
3 3 3 3 3 6, 2 2 2 5 5 5, 1 4 4 4 4 4
1 1 4 5 5 5, 2 2 2 3 6 6, 3 3 3 4 4 4
2 1 4 6 4 4, 2 4 5 2 3 5, 3 3 6 3 3 3
11 11 13 15 15 16, 12 12 12 13 16 16, 13 13 13 14 14 14
4 4 7 16 19 19, 4 7 13 13 13 19, 4 10 10 10 16 19
strongly nontransitive
2 2 2 5 5 5, 2 3 3 3 5 5, 1 1 4 5 5 5
2 2 2 3 6 6, 2 2 2 5 5 5, 2 2 4 4 4 5
1 5 1 3 6 5, 6 6 4 2 2 1, 5 3 4 3 4 2
0 0 2 4 4 5, 0 1 1 3 5 5, 1 1 2 3 4 4
1 1 9 17 17 21, 1 5 5 13 21 21, 5 5 13 13 13 17
ถ้าคุณต้องการทดสอบโค้ดของคุณให้ละเอียดยิ่งขึ้น Peter Taylor ก็ใจดีพอที่จะเขียนการใช้งานอ้างอิงซึ่งจำแนกลูกเต๋าทั้งหมด 5,000 ชุดที่มีด้าน 1 ถึง 6 และค่าเฉลี่ย 3.5 ลิงก์ Pastebin
1 2 2 4 6 6, 1 2 3 5 5 5, 2 3 4 4 4 4
ฉันได้รับ A <B 17/36, B> C 19/36, C <A 16/36