แนวคิด
คุณสามารถปีนป่ายตัวอักษรภาษาอังกฤษเพื่อที่จะยังคงสามารถร้องเพลงท่วงทำนอง Twinkle Twinkle Little Star ได้โดยไม่ทำลายการแต่งเพลง?
กฎระเบียบ
แลกเปลี่ยน
สมมติว่าตัวอักษรที่มีอยู่ในแต่ละชุดต่อไปนี้สามารถเปลี่ยนได้อย่างอิสระโดยค่าเริ่มต้นโดยไม่ทำลายการปรับแต่ง:
- {A, J, K}
- {B, C, D, E, G, P, T, V, Z}
- {I, Y}
- {Q, U}
- {S, X, F}
- {M, N}
- ดังนั้น H, L, O, R และ W จึงถูกล็อคเข้าที่
เอาท์พุต
โปรแกรมจำเป็นต้องส่งออกสตริง RANDOM เส้นเดียว (หรือรายการของตัวอักษร) ที่มีตัวอักษรภาษาอังกฤษที่สมบูรณ์ในลำดับใดก็ได้หากคำสั่งนั้นตรงตามเงื่อนไขข้างต้น ไม่มีทางที่คุณจะคาดเดาว่าโปรแกรมของคุณจะส่งออกสตริงใด (ถ้าเราไม่สนใจการเพาะ) หมายความว่าคุณไม่สามารถ hardcode ได้
โปรแกรมของคุณต้องมีความน่าจะเป็นในเชิงบวก (ไม่จำเป็นต้องเหมือนกัน) ในการสร้างแต่ละตัว! ⋅ 3 ! ⋅ 3 ! ⋅ 2 ! ⋅ 2 ! ⋅ 2 ! =เอาต์พุต104509440
ไม่มีข้อ จำกัด การจัดรูปแบบโดยเฉพาะเกี่ยวกับการเว้นวรรคตัวคั่นหรือตัวอักษรเพียงให้สอดคล้องกัน
เป้าหมาย
ไบต์ที่น้อยที่สุดจะชนะ!
ตัวอย่าง:
- KCDBPSVHIAJLMNOZQRXGUEWFYT
- A, G, Z, V, P, X, C, H, Y, K, J, L, N, M, O, T, U, R, S, D, Q, B, W, F, I, E
- KVTDCFBHIJALNMOPURSZQGWXYE
- jcdebxthikalnmogursvq pwfyz
- ABCDEFGHIJKLMNOPQRSTUVWXYZ
Nonexample:
- HLWROABCDEFZXYGIJKMNPQTSVU
พิสูจน์แนวคิด: (Python3, 529 ไบต์)
import random
g1 = ['A', 'J', 'K']
g2 = ['B', 'C', 'D', 'E', 'G', 'P', 'T', 'V', 'Z']
g3 = ['I', 'Y']
g4 = ['Q', 'U']
g5 = ['S', 'X', 'F']
g6 = ['M', 'N']
random.shuffle(g1)
random.shuffle(g2)
random.shuffle(g3)
random.shuffle(g4)
random.shuffle(g5)
random.shuffle(g6)
print(g1[0] + g2[0] + g2[1] + g2[2] + g2[3] + g5[0] + g2[4] + 'H' + g3[0] + g1[1] + g1[2] + 'L' + g6[0] + g6[1] + 'O' + g2[5] + g4[0] + 'R' + g5[1] + g2[6] + g4[1] + g2[7] + 'W' + g5[2] + g3[1] + g2[8])
Z
"ถูกล็อค" ไม่ได้คล้องจองกับคนอื่นหรือ