এই চ্যালেঞ্জ দুটি অংশ নিয়ে গঠিত। বিজয়ীর সর্বনিম্ন মোট বাইট গণনা সহ সমাধান হবে। উভয় চ্যালেঞ্জের জন্য একই ভাষা ব্যবহার করতে হবে।
অংশ 1:
একটি ফাংশন বা প্রোগ্রাম লিখুন যা ইনপুট হিসাবে কেবল বৈধ শব্দের সাথে একটি বাক্য গ্রহণ করে এবং ব্যবহৃত অক্ষরের একটি তালিকা বের করে দেয়, প্রতিটি অক্ষর কতবার ব্যবহৃত হয় এবং মূল বাক্যে প্রতিটি শব্দের অক্ষরের সংখ্যা। এই প্রোগ্রামটি থেকে আউটপুট অবশ্যই পরবর্তী প্রোগ্রামে বৈধ ইনপুট হতে হবে (ঠিক যেমনটি আউটপুট হয়)
আমি আরও নীচে উদাহরণ এবং বিস্তারিত নিয়ম যুক্ত করব।
অংশ ২:
একটি ফাংশন বা প্রোগ্রাম লিখুন যা প্রথম প্রোগ্রাম থেকে আউটপুটটিকে ইনপুট হিসাবে গ্রহণ করে এবং ইংরেজী শব্দের এই তালিকাটি ব্যবহার করে এবং আউটপুট থেকে প্রাপ্ত তথ্যের সাথে একটি বাক্য পুনরায় তৈরি করে। বাক্যটি মূল বাক্যটির মতো হতে হবে না।
অধিক তথ্য. নিয়ম এবং বিধিনিষেধসমূহ:
অংশ 1:
- প্রথম ইনপুট কোনও উপযুক্ত বিন্যাসে, উদ্ধৃতি চিহ্ন সহ বা ছাড়াই, ফাংশন আর্গুমেন্ট হিসাবে বা এসটিডিআইএন থেকে, বন্ধনী সহ বা ছাড়াই থাকতে পারে etc.
- ইনপুট বাক্যটিতে কোনও সময়কাল / বিন্দু বাদে কোনও বিরামচিহ্ন বা বিশেষ অক্ষর থাকবে না। পিরিয়ড সিম্বল ব্যতীত ইনপুটে থাকা সমস্ত অক্ষর শব্দ তালিকায় থাকবে।
- সাজার প্রথম চিঠিটি বড় হাতের অক্ষর হবে, বাকীটি লোয়ার কেস হবে।
- অংশ 2 এর আউটপুট অবশ্যই মূল বাক্য হিসাবে একই বড় বড় অক্ষরের সাথে শুরু হওয়া উচিত (সুতরাং ইনপুটটিকে ছোট কেসিতে রূপান্তরিত করার প্রস্তাব দেওয়া হয় না (তবে ঠিক আছে))।
- আউটপুট যে কোনও উপযুক্ত বিন্যাসে হতে পারে:
- পরবর্তী প্রোগ্রাম / ফাংশনে সরাসরি আউটপুট অনুলিপি করা সম্ভব হবে
- অনুলিপি-পেস্ট করার সময় কোনও পরিবর্তন করা যায় না, পুরো আউটপুট অবশ্যই অনুলিপি করে কপি এবং পুরো হিসাবে আটকানো উচিত।
- আপনি উদাহরণস্বরূপ বর্ণমালার সমস্ত অক্ষরের একটি হিস্টোগ্রাম আউটপুট করতে পারেন, বা কেবল ব্যবহৃত অক্ষরগুলি (সাধারণভাবে, অংশ 2 সম্পূর্ণ করার জন্য যা প্রয়োজন)
- আপনি অক্ষরগুলির একটি তালিকা আউটপুট করতে পারবেন না যেখানে একাধিক ঘটনার পুনরাবৃত্তি হয়। উদাহরণস্বরূপ,
The queue
একটি আউটপুট উত্পাদ পারে না:Teeehquu (3,5)
, এটা ভালো কিছু হওয়া উচিত:Tehqu, (1 3 1 1 2),(3 5)
।
অংশ ২:
- প্রোগ্রাম / ফাংশনটি অবশ্যই ইনপুটটি প্রথম অংশ 1 এর মতো গ্রহণ করতে হবে (একটি ব্যতিক্রম, ফাইলের নামটিকে ইনপুট হিসাবে নেওয়ার বিষয়ে নীচে মন্তব্য দেখুন))
- পার্শ্ববর্তী বন্ধনী, উদ্ধৃতি চিহ্ন বা অনুরূপ যদি ইনপুট পার্স করতে প্রয়োজনীয় হয় তবে এগুলি অবশ্যই অংশ 1 থেকে আউটপুট অংশ হতে হবে।
- শব্দ তালিকা এখানে পাওয়া যাবে।
- শব্দ তালিকাটি হয় স্থানীয়ভাবে স্থানীয়ভাবে সংরক্ষণ
w.txt
করা যেতে পারে, বা এটি ইউআরএল থেকে আনা যেতে পারে। ইউআরএলটি কেবল 5 বাইট হিসাবে গণ্য হবে, সুতরাং আপনার কোনও ইউআরএল-সংক্ষিপ্তকারী প্রয়োজন হবে না। - প্রোগ্রাম stdin থেকে একটি ইনপুট হিসেবে নাম পড়া ছাড়া একটি ফাইল খুলতে পারবে না থাকলে (আমার বিশ্বাস এই
হলঅন্তত Pyth কেনার ক্ষেত্রে ছিল), তারপর ফাইলের নাম আলাদা ইনপুট আর্গুমেন্ট হিসাবে গ্রহণ করা যেতে পারে।
- শব্দ তালিকাটি হয় স্থানীয়ভাবে স্থানীয়ভাবে সংরক্ষণ
- আউটপুট অবশ্যই একটি বাক্য হতে হবে (বৈধ শব্দের তালিকা), একটি পিরিয়ড এবং alচ্ছিক নিউলাইন দিয়ে শেষ হবে।
- আউটপুটে অবশ্যই অংশ 1 এর মূল বাক্যটির মতো একই সংখ্যার অক্ষরের শব্দ থাকতে হবে (সঠিক ক্রমে)
- মূল বাক্যে ব্যবহৃত সমস্ত অক্ষর অবশ্যই নতুন আউটপুট ব্যবহার করা উচিত in
- বাক্যটি অবশ্যই মূল ইনপুট বাক্যটির মতো একই বড় বড় অক্ষরের সাথে শুরু হওয়া উচিত এবং একটি পিরিয়ডের সাথে শেষ হতে হবে।
উভয় অংশ:
- উভয় অংশই কার্যকর করতে 2 মিনিটের বেশি সময় নেওয়া উচিত নয় (কোনও সমাধান গৃহীত না হওয়া পর্যন্ত এলোমেলোভাবে শব্দগুলি বেছে নেওয়া)।
উপরের তালিকাভুক্ত বিধিগুলির সাথে, যথাযথ একই বাক্যটি পুনরুত্পাদন করার উপযুক্ত সুযোগ থাকতে হবে, তবে এটি কোনও প্রয়োজন নয়।
উদাহরণ:
নীচের উদাহরণগুলিতে, কয়েকটি আলাদা ইনপুট এবং আউটপুট ফর্ম্যাট প্রদর্শিত হবে। আরও অনেক গৃহীত হয়।
অংশ 1:
ইনপুট:
Zulus win.
আউটপুট ধরণ 1:
Z i l n s u w
1 1 1 1 1 2 1
5 3
আউটপুট টাইপ 2:
(('Z',1),('i',1),('l',1),('n',1),('s',1),('u',2),('w',1)), (5,2)
আউটপুট টাইপ 3:
'Zilnsuuw',[1,1,1,1,1,2,1],[5,2]
অংশ ২:
ইনপুট: অংশ 1 থেকে আউটপুট একটি সঠিক অনুলিপি। আউটপুট:
Zulus win.
নোট করুন যে অন্য শব্দের সংমিশ্রণগুলি যতক্ষণ না তারা একটি দিয়ে শুরু হয় ততক্ষণ গ্রহণ করা হয় Z
এবং প্রথম শব্দের 5 টি বর্ণ থাকে এবং দ্বিতীয়টিতে 3 থাকে।
বাইটস মধ্যে সংক্ষিপ্ত কোড।
f1
আটকানো f2
হয়েছে তাতে চ্যালেঞ্জে নির্দিষ্ট সমস্ত ডেটা থাকতে হবে। কোনও অতিরিক্ত ডেটা আউটপুট অংশ হতে পারে না f1
। কোনও তথ্য f1
এটিকে কল করার সময় উপলভ্য করার ক্ষেত্রে "সঞ্চয়" করা যায় না f2
। f1
প্রতি কল প্রতি ইনপুট হিসাবে কেবল একটি স্ট্রিং নিতে পারে।