সমস্যা
আপনি অরণ্যের মাঝখানে একটি কেবিনে আটকে আছেন, কেবল নিজের মনোরঞ্জনের জন্য কেবল একটি পুরানো স্ক্র্যাবল সেট। পরিদর্শন করার পরে আপনি দেখতে পাচ্ছেন যে স্ক্র্যাবল অক্ষরগুলি এতটা পরিহিত, প্রতিটি অক্ষরের জন্য কেবলমাত্র পয়েন্টগুলি দৃশ্যমান।
তবুও আপনি একটি খেলা খেলার সিদ্ধান্ত নিয়েছেন। আপনি ব্যাগ থেকে সাতটি অক্ষর টানুন এবং এগুলি আপনার ট্রেতে রাখুন, আপনার চ্যালেঞ্জ হ'ল সেই চিঠিগুলি কী হতে পারে তা নির্ধারণ করা।
সুতরাং সাধারণত, পয়েন্টগুলির একটি তালিকা দেওয়া হয় এটি কোনও সম্ভাব্য স্ট্রিং বা অক্ষরের তালিকায় রূপান্তর করে।
স্ক্র্যাবল টাইলস এবং বিতরণ
- 2 ফাঁকা টাইলস (0 পয়েন্ট স্কোর)
- 1 পয়েন্ট: E × 12, A × 9, I × 9, O × 8, N × 6, R × 6, T × 6, L × 4, S × 4, U × 4
- 2 পয়েন্ট: ডি × 4, জি × 3
- 3 পয়েন্ট: বি × 2, সি × 2, এম × 2, পি × 2
- 4 পয়েন্ট: এফ × 2, এইচ × 2, ভি × 2, ডাব্লু × 2, ওয়াই × 2
- 5 পয়েন্ট: কে × 1
- 8 পয়েন্ট: জে 1 X, এক্স × 1
- 10 পয়েন্ট: প্রশ্ন × 1, জেড × 1
সুতরাং আপনার যদি পয়েন্টগুলির একটি তালিকা থাকে [10,10,8,5,1,1,1]
তবে "QZJKEEE"
তা বৈধ হবে তবে বৈধ "QQJKEEE"
হবে না (যেহেতু ব্যাগে কেবল 1 কিউ টাইল রয়েছে)
সমস্যা নির্দিষ্ট বিধি
- আপনি ধরে নিতে পারেন যে সমস্ত ইনপুট বৈধ এবং এখানে সর্বদা 7 টি টাইল থাকবে (যেমন এটি সাত 10 পয়েন্টের টাইলের তালিকা হবে না এবং 9 টি টাইল হবে না)
- আপনি ধরে নিতে পারেন ব্যাগ থেকে কোনও টাইল আগে টানা হয়নি (সুতরাং বিতরণটি ইংরাজী টাইলগুলির উপরের সংজ্ঞায়িত হিসাবে প্রমিত বিতরণ)
- আপনাকে বৈধ শব্দ তৈরি করতে হবে না, কেবলমাত্র বৈধ অক্ষরের অক্ষর রয়েছে।
- আপনার স্ট্রিংয়ের ক্রমটি অপ্রাসঙ্গিক যতক্ষণ না প্রতিটি টাইলের জন্য সংশ্লিষ্ট বর্ণ রয়েছে।
- পয়েন্টগুলি উপরের সংজ্ঞায়িত হিসাবে স্ট্যান্ডার্ড ইংলিশ স্ক্র্যাবল টাইল পয়েন্টের উপর ভিত্তি করে।
- আপনি উপরের বা নিম্ন ক্ষেত্রে আউটপুট করতে পারেন, ফাঁকা টাইলের জন্য আপনি কোনও স্থান অক্ষর বা আন্ডারস্কোর '_' আউটপুট দিতে পারেন
- আপনার উত্তরটি টাইলগুলির কোনও তালিকা, স্ট্রিং, অ্যারে বা সিকোয়েন্সের মতো কোনও যুক্তিসঙ্গত উপস্থাপনা হিসাবে আউটপুট দিতে পারে
সাধারাইওন রুল:
- এটি কোড-গল্ফ , তাই বাইট জেতে সংক্ষিপ্ত উত্তর।
কোড-গল্ফ ভাষাগুলি আপনাকে নন-কোডগলফিং ভাষার সাথে উত্তর পোস্ট করতে নিরুৎসাহিত করবেন না। 'যে কোনও' প্রোগ্রামিং ভাষার পক্ষে যতটা সম্ভব সংক্ষিপ্ত উত্তর নিয়ে আসার চেষ্টা করুন। - আপনার উত্তরটির জন্য ডিফল্ট আই / ও বিধিগুলি সহ মানক বিধিগুলি প্রযোজ্য , সুতরাং আপনাকে সঠিক পরামিতি এবং ফিরতি-টাইপ, সম্পূর্ণ প্রোগ্রাম সহ STDIN / STDOUT, ফাংশন / পদ্ধতি ব্যবহারের অনুমতি দেওয়া হবে। আপনার কল
- ডিফল্ট লুফোলস নিষিদ্ধ।
- যদি সম্ভব হয় তবে দয়া করে আপনার কোডের পরীক্ষার সাথে একটি লিঙ্ক যুক্ত করুন (অর্থাত্ টিআইও) ) ।
- এছাড়াও, আপনার উত্তরের জন্য একটি ব্যাখ্যা যুক্ত করা অত্যন্ত প্রস্তাবিত।
পরীক্ষার মামলা
স্পষ্টতই যেহেতু আপনি যে কোনও সম্ভাব্য মান আউটপুট করতে পারবেন কঠোর পরীক্ষার কেসগুলি সংজ্ঞায়িত করা কঠিন।
সম্ভাব্য বৈধ রিটার্ন মান সহ কয়েকটি ক্ষেত্রে :
[10,0,10,5,8,8,0] -> "Q ZKJX "
[1,1,1,1,1,1,1] -> "EEEEEEE"
[1,2,3,4,5,8,0] -> "NDBHKJ "
[2,2,2,2,2,2,2] -> "DGDGDGD"
একটি অবৈধ রিটার্ন মান সহ কয়েকটি ক্ষেত্রে :
[10,0,10,5,8,8,0] -> "Q QKJX " - Too many Qs
[1,1,1,1,1,1,1] -> "EEEEEE " - Space is 0 points not 1
[1,2,3,4,5,8,0] -> "NDBH" - Too short
[1,2,3,4,5,8,0] -> "NDBHKJ I" - Too long
[1,2,3,4,5,8,0] -> "ÉDBHKJ1" - Contains none scrabble characters
[2,2,2,2,2,2,2] -> "GDGDGDG" - Contains too many Gs (case for invalid cycling)
[2,2,2,2,2,2,2]
( সাইকেল চালানোর পদ্ধতি যদি ব্যবহার করা হয় তবে তার D
পরিবর্তে শুরু করা একমাত্র ক্ষেত্রে G
)