আজ রাতে কার্ড গেম নাইট! আপনি ডিলার এবং আপনার কাজ প্লেয়ারদের কার্ডকে ডিল করার জন্য একটি প্রোগ্রাম লিখতে হবে।
কার্ডগুলির একটি অ্যারে এবং প্লেয়ারের সংখ্যা দেওয়া, আপনাকে প্রতিটি খেলোয়াড়ের জন্য কার্ডের অ্যারেটি এক হাতে ভাগ করতে হবে।
বিধি
আপনার প্রোগ্রামটি একটি শূন্য-বিন্যাসের A
পাশাপাশি অ-শূন্য ধনাত্মক পূর্ণসংখ্যা প্রাপ্ত করবে n
। অ্যারেটি তখন n
হাতে ভাগ করা উচিত । যদি স্ট্রিংয়ের দৈর্ঘ্যটি n
কোনও বাম পাশের কার্ড দ্বারা বিভাজ্য না হয় তবে যথাসম্ভব সমানভাবে বিতরণ করা উচিত।
- যদি এটির উপাদান থাকে তবে আপনাকে
n==1
অ্যারের একটি অ্যারে ফেরত দিতে হবেA
যদি
n
দৈর্ঘ্যের চেয়ে বেশি হয় তবেA
আপনাকে প্রতিটি হাত এবং খালি হাতে ফিরতে হবে। যদিn = 4
এবংarray A = [1,2,3]
, আপনার ফিরে আসা উচিত[[1],[2],[3]]
বা[[1],[2],[3],[]]
। আপনি খালি, অপরিজ্ঞাত বা নাল দিয়ে খালি হাতটি পরিচালনা করতে মুক্ত।অ্যারেতে সংখ্যার চেয়ে কোনও প্রকার থাকতে পারে।
লেনদেন করার সময় আপনার অ্যারের ক্রমটি পরিবর্তন করা উচিত নয়। উদাহরণস্বরূপ
if n = 2
এবংA= [1,2,3]
, এর চেয়ে কোনও ফলাফল[[1,3],[2]]
অবৈধ হবে।
পরীক্ষার কেস
n A Output
1 [1,2,3,4,5,6] [[1,2,3,4,5,6]]
2 [1,2,3,4,5,6] [[1,3,5],[2,4,6]]
3 [1,2,3,4,5,6] [[1,4],[2,5],[3,6]]
4 [1,2,3,4,5,6] [[1,5],[2,6],[3],[4]]
7 [1,2,3,4,5,6] [[1],[2],[3],[4],[5],[6]] // or [[1],[2],[3],[4],[5],[6],[]]
ডেমো প্রোগ্রাম
def deal(cards, n):
i = 0
players = [[] for _ in range(n)]
for card in cards:
players[i % n].append(card)
i += 1
return players
hands = deal([1,2,3,4,5,6], 2)
print(hands)
এটি কোড-গল্ফ , সুতরাং আপনি প্রতিটি ভাষার সংক্ষিপ্ত বাইটগুলি বিজয়ী হবেন।
চৌ জিয়াং দ্বারা অ্যারে থেকে খণ্ডগুলি তৈরি করা থেকে অনুপ্রাণিত
0
?