Input / Output:
อินพุต : สตริงที่มีความยาวและไม่ จำกัด จำนวนสุ่มจาก 0 0 และ '1' มาจาก stdin สตริงจะถือว่าสุ่มอย่างแท้จริงไม่ใช่การสุ่มหลอก มันเหมือนกันในแต่ละตัวละครมีแนวโน้มที่จะเป็น '0' หรือ '1' อย่างเท่าเทียมกัน
ระวัง! อินพุตมีความยาวไม่ จำกัด ดังนั้นคุณจึงไม่สามารถเก็บไว้ในหน่วยความจำได้โดยใช้ฟังก์ชั่นเช่น raw_input () ในไพ ธ อน ถ้าฉันไม่เข้าใจผิด golfscript จะล้มเหลวด้วยอินพุตไม่ จำกัด เนื่องจากมันจะดันอินพุตทั้งหมดไปยังสแต็กก่อนที่จะทำงาน
เอาท์พุท : สำรับสุ่มแบบสุ่มที่สม่ำเสมอโดยไม่ต้องมีโจ๊กเกอร์ มันเหมือนกันในทุกคำสั่งมีแนวโน้มที่เท่าเทียมกัน
การ์ดแต่ละใบในเอ้าท์พุทคืออันดับ, A, 2-9, T, J, Q หรือ K เรียงต่อกันด้วยชุดสูท, c, d, h หรือ s ตัวอย่างเช่น 10 โพดำคือTs
ไพ่ของเด็คควรคั่นด้วยช่องว่าง
คุณไม่สามารถใช้ไลบรารีหรือฟังก์ชั่นสุ่มในตัวเพราะมันไม่ได้สุ่มอย่างเดียวหลอกหลอกเท่านั้น
ตัวอย่างอินพุต
คุณสามารถใช้สคริปต์ไพ ธ อนต่อไปนี้เพื่อไพพ์อินพุตลงในโปรแกรมของคุณ:
import sys, random
try:
while True:
sys.stdout.write(str(random.randint(0,1)))
except IOError:
pass
หากคุณบันทึกสคริปต์เป็น rand.py ให้ทดสอบโปรแกรมของคุณด้วย python rand.py | your_program
ใน python 3 มันทำงานได้ตามที่คาดหวัง แต่ใน python 2.7 ฉันได้รับข้อความแสดงข้อผิดพลาดหลังจากผลลัพธ์ของโปรแกรมของฉัน แต่หลังจากทุกอย่างเสร็จสิ้นดังนั้นเพียงแค่ละเว้นข้อความแสดงข้อผิดพลาด
ตัวอย่างผลลัพธ์:
นี่คือวิธีที่เด็คควรพิมพ์ถ้ามีการสับเรียงลำดับ:
Ac 2c 3c 4c 5c 6c 7c 8c 9c Tc Jc Qc Kc Ad 2d 3d 4d 5d 6d 7d 8d 9d Td Jd Qd Kd Ah 2h 3h 4h 5h 6h 7h 8h 9h Th Jh Qh Kh As 2s 3s 4s 5s 6s 7s 8s 9s Ts Js Qs Ks
เกณฑ์การให้คะแนน:
นี่คือรหัสกอล์ฟ รหัสที่สั้นที่สุดชนะ
โปรแกรมตัวอย่าง:
นี่คือวิธีการแก้ปัญหาของงูหลาม 2.7 ไม่ใช่กอล์ฟ
import sys
def next():
return int(sys.stdin.read(1))==1
def roll(n):
if n==1:
return 0
if n%2==0:
r=roll(n/2)
if next():
r+=n/2
return r
else:
r=n
while(r==n):
r=roll(n+1)
return r
deck = [rank+suit for suit in 'cdhs' for rank in 'A23456789TJQK']
while len(deck)>0:
print deck.pop(roll(len(deck))),