একটি বৃত্তাকার ইন বন্দীদের দূর্দশা ব্যায়াম দুজন খেলোয়ার প্রতিটি সিদ্ধান্ত নিতে হবে সহযোগিতা বা খুঁত যে রাউন্ডের জন্য। একটি রাউন্ডের জন্য স্কোরিংটি হ'ল:
- প্লেয়ার এ এবং প্লেয়ার বি উভয়ই সহযোগিতা করে: উভয়ের জন্য 1 পয়েন্ট
- প্লেয়ার এ এবং প্লেয়ার বি উভয় ত্রুটি: উভয়ের জন্য 2 পয়েন্ট
- প্লেয়ার এ সহযোগিতা করে এবং প্লেয়ার বি ত্রুটি: প্লেয়ার এটিকে সহযোগিতা করার জন্য 3 পয়েন্ট এবং প্লেয়ার বি ত্রুটিযুক্ত করার জন্য 0 পয়েন্ট
আপনার কৌশল সম্পর্কে উদ্বিগ্ন হওয়ার দরকার নেই, যদিও: আপনার প্রোগ্রামটি কেবল একটি গেমের জন্য স্কোরকে বিশিষ্ট করে তুলবে। (আপনি যদি ইতিমধ্যে বন্দীর দ্বিধাদ্বন্দ্বের সাথে পরিচিত হন তবে আমার "পয়েন্টগুলি" এখানে "বছরের কারাদণ্ডের সাথে মিল রয়েছে")
আপনার চ্যালেঞ্জটি এমন ইনপুট নেওয়া যা খেলোয়াড়দের পছন্দকে বিভিন্ন দফায় উপস্থাপন করে এবং তাদের নিজ নিজ মোট স্কোর গণনা করে। একটি খেলোয়াড় ছোট হাতের অক্ষরে পছন্দগুলি জমা দেয় cএবং d( সহযোগিতা এবং ত্রুটির জন্য ), এবং অন্যটি বড় হাতের অক্ষরে পছন্দগুলি জমা দেয় Cএবং D। এই পছন্দগুলি আপনার প্রোগ্রামটিতে স্ট্রিং হিসাবে সরবরাহ করা হয়।
সাধারণত, বন্দীদের দ্বিধাদ্বন্দ্বের খেলোয়াড়রা তাদের চালগুলি একযোগে এবং পুনরাবৃত্তভাবে জমা দেয়। এই চ্যালেঞ্জের ক্ষেত্রে, খেলোয়াড়রা একবারে বেশ কয়েকটি রাউন্ডের জন্য তাদের পছন্দগুলি জমা দিতে পারে। যদি কোনও খেলোয়াড়ের পদক্ষেপ ক্রমহীন থাকে তবে স্কোরিং প্রোগ্রামটি এটি মনে রাখে এবং বিরোধী খেলোয়াড়ের পরবর্তী উপলব্ধ পদক্ষেপের সাথে এটি মেলে।
এখানে একটি নমুনা ইনপুট স্ট্রিং রয়েছে:
cDCddDDCcCc
এই ইনপুটটিতে বিদ্যমান ম্যাচগুলি দেখানোর জন্য, আমি ছোট হাতের অক্ষর এবং বড় হাতের সাথে আলাদাভাবে কল করব এবং সেগুলি তৈরি করব:
cDCddDDCcCc
c dd c c => cddcc
DC DDC C => DCDDCC
এগুলি রাউন্ডে যুক্ত করা হবে:
c vs D (3 pts for lowercase-player, 0 pts for uppercase-player)
d vs C (0 pts for lowercase-player, 3 pts for uppercase-player)
d vs D (2 pts for both)
c vs D (3 pts for lowercase-player, 0 pts for uppercase-player)
c vs C (1 pt for both)
যা স্কোর 9(লোয়ারকেস) থেকে 6(বড় হাতের) তৈরি করে, তাই আউটপুটটি 9,6(বা কোনও স্পষ্টত সীমানার) হওয়া উচিত ।
এটি অন্য কোনও উপায়ে প্রকাশ করার জন্য, এখানে প্রতিটি জুটি তার নিজস্ব সারিতে টানা রয়েছে:
cDCddDDCcCc
cD
Cd
dD
D c
C c
একটি মিল নেই C, কারণ বড় হাতের খেলোয়াড় লোয়ারকেস প্লেয়ারের চেয়ে বেশি পদক্ষেপ জমা দিয়েছে। এটি গ্রহণযোগ্য এবং স্কোর করার উদ্দেশ্যে এটি সম্পূর্ণ উপেক্ষা করা হয়।
প্রয়োজনীয়তা এখানে:
আপনাকে অবশ্যই এমন একটি প্রোগ্রাম বা ফাংশন লিখবেন যা
/[cdCD]+/কিছু ইনপুট প্রক্রিয়া (এসটিডিআইএন, ফাংশন আর্গুমেন্ট, ফাইল থেকে পড়া ইত্যাদি) মাধ্যমে নিয়মিত-এক্সপ্রেশন ফর্মটির একটি স্ট্রিং গ্রহণ করে । (আপনার প্রোগ্রামটি চূড়ান্তভাবে নতুন লাইনের সাহায্যে ইনপুট গ্রহণ করতে পারে))আপনার প্রোগ্রাম বা ফাংশনটি অবশ্যই স্ট্রিং হিসাবে প্লেয়ারদের স্কোরকে আউটপুট করতে বা ফিরিয়ে দিতে হবে। আউটপুট ফর্ম্যাটটি ছোট হাতের খেলোয়াড়ের স্কোর দিয়ে শুরু হওয়া উচিত, তারপরে বড় হাতের খেলোয়াড়ের স্কোর, আপনার পছন্দের কোনও খালি, অ-সংখ্যাযুক্ত ডিলিমিটার দ্বারা পৃথক করা উচিত। (একটি পেছনের নতুন লাইন optionচ্ছিক)
যদি একজন খেলোয়াড়ের অপরটির চেয়ে বেশি চাল থাকে তবে অতিরিক্ত চালগুলি উপেক্ষা করা হয়।
যদি ইনপুটটির সমস্ত চালগুলি একচেটিয়াভাবে কোনও প্লেয়ারের হয় (যা কোনও রাউন্ড মোটেও খেলেনি), তবে প্রতিটি প্লেয়ারের স্কোর হ'ল
0।বাইটস মধ্যে ক্ষুদ্রতম জমা জয়।
পরীক্ষার মামলা
Input: cDCddDDCcCc
Output: 9,6 -- or any delimiter; I chose commas here
Input: cccDDD
Output: 9,0
Input: DDDDDDccc
Output: 9,0
Input: cDcDcD
Output: 9,0
Input: dcDDC
Output: 5,2
Input: CcdCDDcd
Output: 6,6
Input: Ddd
Output: 2,2
Input: ccccccccccc
Output: 0,0
(0,0)বা [0,0]আউটপুট ঠিক আছে?
