ইনপুট আউটপুট:
ইনপুট : স্টিডিন থেকে নেওয়া '0' এবং '1 এর স্ট্রিং একটি অভিন্ন র্যান্ডম, অসীম দীর্ঘ। স্ট্রিংটি সত্যই এলোমেলো, সিউডো-এলোমেলো হিসাবে ধরে নেওয়া হয় না। এটি অভিন্ন যে প্রতিটি চরিত্রের '0' বা '1' হওয়ার সমান সম্ভাবনা।
সাবধান হন! ইনপুটটি অসীম দীর্ঘ, তাই আপনি পাইথনে কাঁচা_পিন্ড () এর মতো কোনও ফাংশন ব্যবহার করে মেমরিটিতে এগুলি সমস্ত সঞ্চয় করতে পারবেন না। যদি আমার ভুল না হয় তবে গল্ফস্ক্রিপ্ট অসীম ইনপুট দিয়ে ব্যর্থ হবে, কারণ এটি চালনার আগে পুরো ইনপুটটিকে স্ট্যাকের মধ্যে ঠেলে দেয়।
আউটপুট : জোকার ছাড়াই একটি অভিন্ন র্যান্ডম শ্যাফলেড স্ট্যান্ডার্ড ডেক। এটি অভিন্ন যে সমস্ত ক্রম সমান সম্ভাবনা রয়েছে।
আউটপুটে প্রতিটি কার্ডই এটির র্যাঙ্ক, এ, ২-৯, টি, জে, কিউ বা কে এর স্যুট, সি, ডি, এইচ বা এস দিয়ে সজ্জিত। উদাহরণস্বরূপ, স্পেডের 10 টিTs
ডেকের কার্ডগুলি ফাঁক দিয়ে আলাদা করা উচিত।
আপনি অন্তর্নির্মিত এলোমেলো গ্রন্থাগার বা ফাংশন ব্যবহার করতে পারবেন না কারণ এগুলি সত্যিকারের র্যান্ডম নয়, কেবল ছদ্ম-এলোমেলো।
উদাহরণ ইনপুট
আপনার প্রোগ্রামে ইনপুটটি পাইপ করতে আপনি নিম্নলিখিত পাইথন স্ক্রিপ্টটি ব্যবহার করতে পারেন:
import sys, random
try:
while True:
sys.stdout.write(str(random.randint(0,1)))
except IOError:
pass
আপনি যদি স্ক্রিপ্টটিকে র্যান্ড.পি হিসাবে সংরক্ষণ করেন তবে আপনার প্রোগ্রামটি দিয়ে পরীক্ষা করুন python rand.py | your_program
পাইথন 3 এ এটি প্রত্যাশার মতো চলে, তবে পাইথন ২.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
স্কোরিং:
এটি একটি কোড গল্ফ। সংক্ষিপ্ততম কোড জিতেছে।
উদাহরণ প্রোগ্রাম:
এখানে অজগর ২. not সমাধান রয়েছে, গল্ফ হয় না।
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))),