সেভেনসের খেলাটি নিম্নরূপে খেলা হয়: n
খেলোয়াড়রা একটি বৃত্তে বসে এবং বাম দিকে (বা প্লেয়ার A
থেকে খেলোয়াড়ের দিকে B
) যেতে শুরু করে 1 থেকে গণনা শুরু করে ।
একটি সংখ্যা যখন p
একটি আছে 7
এটা অথবা দিয়ে বিভাজ্য 7
উপনিত, তারপর প্লেয়ার যারা সংখ্যা স্পোক p-1
পর পরবর্তী প্লেয়ার বলেছেন p
, বলা উচিত p+1
এবং কথা বলার উল্টিয়ে মানুষের অর্ডার। উদাহরণস্বরূপ, প্লেয়ার যদি B
কথা বলেন 6
, প্লেয়ার C
বলে 7
, B
বলে 8
, এবং প্লেয়ার A
বলে 9
।
দ্রষ্টব্য: যারা বাস্তব জীবনে খেলতে চান তাদের জন্য, যদি কোনও ব্যক্তি কোনও সংখ্যা ভুলে যায় (বা যে সংস্করণে sevens
বলা হয় নি, দুর্ঘটনাক্রমে একটি বলে seven
), তারা চেনাশোনা থেকে বাদ দেওয়া হয়েছে, তবে আমরা এই চ্যালেঞ্জ থেকে এই বিবরণটি বাদ দেব।
চ্যালেঞ্জটি হ'ল m
একটি ইনপুট n
প্লেয়ারদের জন্য একটি ইনপুট পর্যন্ত সেভেনসের নিখুঁত খেলায় প্রতিটি খেলোয়াড়কে কোন নম্বরটি বলা উচিত তা মুদ্রণ করা ।
একটি উদাহরণ, যেখানে পাঁচ জনের হিসেবে A
, B
, C
, D
, এবং E
, যে পর্যন্ত না তারা পৌঁছানোর খেলতে হয় 30
। তারা এইভাবে খেলে
A: 1 6 8 13 15 19 23 30
B: 2 7* 12 16 18 24
C: 3 11 17* 25
D: 4 10 21* 26 28*
E: 5 9 14* 20 22 27*29
যেখানে sevens
চিহ্নিত করা হয়েছে *
। নোট যে 27
এবং 28
, আমরা দুইবার reversing করছি, এবং Play থেকে "স্বাভাবিক হিসাবে" চলতে D
করার E
।
অনুগ্রহ করে নোট করুন আউটপুট উপরের ফর্ম্যাটে থাকতে হবে না। কিছুটা স্পষ্টতার জন্য আমি সেভাবে প্রিন্ট করেছি।
বিধি
ইনপুটটি কোনও ক্রমে দুটি পূর্ণসংখ্যা,
m
যা বলার জন্য শেষ সংখ্যাটিn
প্রতিনিধিত্ব করে, খেলোয়াড়ের সংখ্যার প্রতিনিধিত্ব করে।আউটপুট একাধিক অ্যারে বা বিভিন্ন স্ট্রিং হতে পারে, প্রতিটি খেলোয়াড়ের জন্য একটি। আপনি যদি স্ট্রিং ব্যবহার করেন তবে আপনাকে পৃথককারী ব্যবহার করতে হবে না (যদিও আপনি যদি আপনার কোড পরীক্ষায় কিছু যোগ করতে পারেন তবে আমরা পাঠ্যতার প্রশংসা করব)। আপনি যদি এগুলিকে কোনওভাবে কোনও বৃত্তে মুদ্রণ করতে পারেন তবে তা গ্রহণযোগ্যও বটে এবং এটি খুব সুন্দরও হবে।
আউটপুটটি কোন খেলোয়াড়দের তা নির্ধারণ করতে হবে না (এটি মোটামুটি স্পষ্ট যে প্রথম প্লেয়ার যিনি বলেছিলেন
1
), যদিও যদি আউটপুট কোনও কারণ অনুসারে বাছাই না করা হয় তবে আপনি পরিষ্কার করতে হবে কোন খেলোয়াড় কোন সংখ্যার সেট বলছেন । কোন খেলোয়াড় কথা বলছে তা যদি আপনি পরিষ্কার করে দেন তবে কিছু না বলছেন না এমন খেলোয়াড়দের ছাড় দেওয়াও অনুমোদিত। আমি নীচে সম্ভাব্য আউটপুটগুলির আরও কয়েকটি উদাহরণ যুক্ত করব।এটি কোড গল্ফ, তাই বাইটের ক্ষুদ্রতম সংখ্যাটি জয় করে।
সর্বদা হিসাবে, সমস্যাটি যদি অস্পষ্ট হয় তবে দয়া করে আমাকে জানান। শুভকামনা এবং ভাল গল্ফিং!
উদাহরণ
>>> sevens_string(30, 5, " ")
'1 6 8 13 15 19 23 30'
'2 7 12 16 18 24'
'3 11 17 25'
'4 10 21 26 28'
'5 9 14 20 22 27 29'
>>> sevens_string(42, 5)
'16813151923303539'
'27121618243140'
'31117253241'
'410212628333742'
'591420222729343638'
>>> sevens_array(20, 3)
[1, 4, 7, 10, 13, 15, 19]
[2, 5, 9, 12, 16, 18]
[3, 6, 8, 11, 14, 17, 20]
>>> sevens_array(18, 10)
[1, 13, 15]
[2, 12, 16, 18]
[3, 11, 17]
[4, 10]
[5, 9]
[6, 8]
[7]
[]
[]
[14]
1 2 3 4 1 2 3 2 1 4 3 2 1 4 1
)) আমি বলছি না যে সে চ্যালেঞ্জের ক্ষেত্রে এটি আরও ভাল বা খারাপ: কেবলমাত্র এটি বাস্তব বিশ্বে আরও কার্যকর হতে চাই।