আসুন এক অন্যরকম ভূতের রাজ্যে পা বাড়াই -১

ভূত একটি অস্তিত্বহীন প্রাণী যাকে আমরা কখনই দেখিনি কিন্তু তবুও আমরা ভয় পাই।ভূত আর নাম শুনলেই আমাদের মনে ভেসে আসে ইয়া বিশাল দেহ বিশিষ্ট বড় বড় দাতওয়ালা কিম্ভূতকিমাকার প্রাণী।ভূত এর নাম শুনেই ভয় পেলেন? আজকে আপনাদেরকে এক মজাদার ভূত আর সাথে পরিচয় করিয়ে দিব।

তাহলে একটি গল্প দিয়ে শুরু করা যাক

অনেক আগে একটি গ্রাম ছিল । সে গ্রামে ছিল শুধুই ভূতদের বসবাস । ভূতগুলো সবাই বেসিক প্রোগ্রামিং পারত। তারা অনেক সুখে শান্তিতে বসবাস করছিল । তখন তাদের মধ্যে একজন ভুতের জন্ম নিল। সে সবার থেকে অন্যরকম ছিল। সে দেখতে অন্যরকম ছিল না কিন্তু তার প্রোগ্রামিং এর ধরন অন্যরকম ছিল। তার জগৎ ছিল গ্রাফ,ডাইনামিক প্রোগ্রামিং নিয়ে যা তার বাবা-মা’র জন্যে চিন্তার কারন হয়ে গেল কারন তারা ভাবতে লাগল যে ছেলে কালো জাদুবিদ্যা অনুশীলন করছে। আস্তে আস্তে গ্রামের সবাই জেনে গেল। তখন গ্রামে সালিশ বসল । সালিশে সিদ্ধান্ত নিল যে তাকে তাকে গ্রাম থেকে বের করে দেয়া হবে। সে মন খারাপ করে শহরে চলে আসল । শহরে এসে দেখল তার মতই আরও অনেকে আছে। সে সবাইকে নিয়ে একটা গ্রুপ বানিয়ে ফেলল আর গ্রুপ আর নাম দিল এসিএম(ACM)। এভাবে আস্তে আস্তে এসিএম(ACM) গ্রুপ বিখ্যাত হয়ে গেল ।

উপরেরটা নিতান্তই একটি গল্প ছিল। কিন্তু এসিএম(ACM) নামেই আসলেই একটা সংস্থা আছে যেখানে কন্টেস্ট হয়,সমস্যা দেয়া থাকে সেগুলো সমাধান করতে হয়। কিন্তু তাদের কিছু নিয়ম আছে সেই নিয়মের ভিতরে থেকে সমস্যার সমাধান করতে হয় । যদি এটি একটি সংস্থা হয়ে থাকে তাহলে আমি একে ভূত বললাম কেন ? এসিএম(ACM) ভুতের চেয়ে কম কিসে ? যখন আপনার ঘাড়ে চড়ে বসবে (আপনার ঘাড় মটকাতে না আপনার বন্ধু হবার জন্যে), তখন দেখবেন আপনি সারাদিন এর সাথেই থাকবেন অন্য কিছু ভাল লাগবে না।

এতক্ষণে নিশ্চয়ই বুঝে ফেলেছেন আজকের বিষয় । আজকের বিষয় হচ্ছে কিভাবে এসিএম(ACM) শুরু করতে হবে এবং এর সমস্যা সমাধান করতে হবে। যদি আপনি এসিএম(ACM) আর ইতিহাস জানতে আগ্রহী তাহলে এই লিঙ্ক থেকে ঘুরে আসতে পারেন।

তাহলে শুরু করা যাক। এসিএম(ACM) এ কখনও সরাসরি টাইপ এর সমস্যা থাকে না। থাকলেও হাতে গোনা কয়েকটা থাকে। কিন্তু কন্টেস্টে একদমই থাকে না । এখানে সব সময় বাস্তবধর্মী সমস্যা থাকে।

এখানে সমস্যাগুলোর বেসিক ৩টি অংশ থকে ।

প্রথম অংশ হচ্ছে বর্ণনামূলক।এখানে সমস্যার এর বর্ণনা দেয়া থাকে।

দ্বিতীয় অংশ হচ্ছে ইনপুট।এখানে বলা থাকে কি কি এবং কিভাবে ইনপুট নিতে হবে আর সেগুলোর লিমিট। একটা কথা মনে রাখবেন ইনপুট এ যে শর্ত দেয়া থাকবে কখনই সেই শর্তের বাইরে সে ভ্যালু দিবে না আর ইনপুট যেই ফরম্যাটে থাকুক না কেন সেটা নিয়ে চিন্তা করার প্রয়োজন নেই ।

তৃতীয় অংশ হচ্ছে আউটপুট।এখানে বলা থাকবে আপনার আউটপুট আর ধরন কেমন থাকবে যা অনেক গুরুত্বপূর্ণ বিষয় । আপনি যদি সমস্যায় চাওয়া ফরম্যাটের বাইরে আউটপুট দেন তাহলে তা গ্রহনযোগ্য হবে না । তারা যেভাবে চাওয়া হবে আপনাকে সেভাবেই আউটপুট দিতে হবে ।

এরপর নিচে কিছু ইনপুট আউটপুটের নমুনা দেয়া থাকবে । আপনাকে মিলিয়ে দেখতে হবে আপনার কোড থেকে সমস্যায় উল্লেখ করা ইনপুটের মতো  ভ্যালু দিলে সমস্যায় উল্লেখ করা অউটপুটের মতো আউটপুট  আসে কিনা।

ইনপুট ফরম্যাট দুই ভাবে থাকে একটি হচ্ছে টেস্ট কেস আরেকটি হচ্ছে এন্ড অফ ফাইল[ইওফ]।

প্রথমে একটা সমস্যা বলি।


টেস্ট কেস 


বর্ণনা

গুফী পাখি দেখতে অনেক পছন্দ করে। সে দেখল ১ সেকেন্ডে একটি পাখী আকাশে উড়ছে, ২ সেকেন্ডে দুইটি পাখি এসে তাদের সাথে যুক্ত হয়েছে এভাবে প্রতি সেকেন্ডে সেই সময়ের সমপরিমান পাখি এসে যুক্ত হচ্ছে । তার বাবা একজন প্রোগ্রামার । সে তার মেয়ে কে বলল তুমি তো পাখি দেখতে অনেক ভালোবাসো, ঠিক আছে আমি তোমাকে সময় বলব তোমাকে বলতে হবে সে সময়ে মোট কয়টি পাখি আকাশে উড়তে পারে । গুফী অঙ্কে দুর্বল ছিল । সুতরাং তোমাকে গুফীকে সাহায্য করতে হবে ।

ইনপুট

ইনপুট শুরু হবে টেস্ট কেস t(t<২৫) দিয়ে । পরের লাইন শুরু হবে a দিয়ে যেখানে a দিয়ে সময়কে বোঝানো হচ্ছে এবং ০<a<২০।

আউটপুট

প্রতিটা কেসের জন্যে কেস নাম্বার এবং কয়টি পাখি আকাশে থাকতে পারে  প্রিন্ট করতে হবে এবং তাদের মাঝে খালি জায়গা থাকবে ।

স্যাম্পল ইনপুট

স্যাম্পল আউটপুট


এন্ড অফ ফাইল[ইওফ] 


বর্ণনা

গুফী পাখি দেখতে অনেক পছন্দ করে। সে দেখল ১ সেকেন্ডে একটি পাখী আকাশে উড়ছে, ২ সেকেন্ডে দুইটি পাখি এসে তাদের সাথে যুক্ত হয়েছে এভাবে প্রতি সেকেন্ডে সেই সময়ের সমপরিমান পাখি এসে যুক্ত হচ্ছে । তার বাবা একজন প্রোগ্রামার । সে তার মেয়ে কে বলল তুমি তো পাখি দেখতে অনেক ভালোবাসো, ঠিক আছে আমি তোমাকে সময় বলব তোমাকে বলতে হবে সে সময়ে মোট কয়টি পাখি আকাশে উড়তে পারে । গুফী অঙ্কে দুর্বল ছিল । সুতরাং তোমাকে গুফীকে সাহায্য করতে হবে ।

ইনপুট

ইনপুট শুরু হবে a দিয়ে যেখানে a দিয়ে সময়কে বোঝানো হচ্ছে এবং ০<a<২০ ।  a এর মান এন্ড অফ ফাইল পর্যন্ত নিতে হবে।

আউটপুট

প্রতিটা কেসের জন্যে কেস নাম্বার এবং কয়টি পাখি আকাশে থাকতে পারে  প্রিন্ট করতে হবে এবং তাদের মাঝে খালি জায়গা থাকবে ।

স্যাম্পল ইনপুট

স্যাম্পল আউটপুট


এভাবে থাকতে পারে সমস্যাগুলো। এখন আসি টেস্ট কেস কি ? টেস্ট কেস হচ্ছে কেসগুলো যাচাই করতে কতগুলো ইনপুট নিতে হবে । এখানে দেখুন আমি ২টি কেস টেস্ট করতে চাচ্ছি তাই ২ দিয়ে শুরু করেছি যেখানে বলা ছিল “ইনপুট শুরু হবে টেস্ট কেস  t(t<২৫) দিয়ে “। এখানে সর্বোচ্চ ২৫টি কেস নিয়ে যাচাই করা হবে ।  আর এন্ড অফ ফাইল[ইওফ] দিয়ে বুঝাইয় যে ইনপুট ফাইলে যতগুলো ইনপুট আছে সেগুলো শেষ না হয়া পর্যন্ত ইনপুট নিতে থাকবে । যেহেতু আমরা জানি না আমার ফাইল কতগুলো ইনপুট থাকতে পারে তাই আমি এন্ড অফ ফাইল[ইওফ] পর্যন্ত ইনপুট নিচ্ছি ।

এখন যদি উপরের প্রদত্ত সমস্যাটি যদি সমাধান করতে চাই তাহলে


টেস্ট কেস


 

 


এন্ড অফ ফাইল[ইওফ] 


 

এন্ড অফ ফাইলকে আরেকভাবে লিখা যায়

এখন তাহলে চলুন ঢুকে যাই লজিকে
১ সেকেন্ডে যদি ১ টা পাখি থাকে এবং ২ সেকেন্ডে যদি ২টি পাখি এসে তাদের সাথে যুক্ত হয় তাহলে ২ সেকেন্ডে আকাশে মোট পাখি থাকবে ৩টি। ৩ সেকেন্ডে যদি ৩টি পাখি এসে তাদের সাথে যুক্ত হয় তাহলে ৩ সেকেন্ডে মোট পাখি থাকবে ৬টি।

হয়ে গেল না ১+২+৩+….+n র সিরিজ এবং আমরা সবাই জানি এই সিরিজের ফরমুলা হচ্ছে

The infinite series
এখন প্রশ্ন হচ্ছে কিভাবে শুরু করবেন?

এসিএম(ACM) আর সমস্যাগুলো সমাধানের অনেক সাইট আছে ।

তাদের মধ্যে উল্লেখযোগ্য হচ্ছেঃ

আমার পছন্দের সাইট হচ্ছে লাইট অনলাইন জাজ সেখানে নতুনদের জন্যে আলাদা সেকশন আছে, আপনি চাইলে সেখান থেকে শুরু করতে পারেন অথবা ইউভিএ থেকেও শুরু করতে পারেন কিন্তু সেখানে সহজ সমস্যাগুলো এলোমেলো ভাবে আছে আপনাকে সেই গুলো খুঁজে বের করতে হবে । যেই সমস্যাগুলো বেশি সল্ভ হয়েছে সেগুলো দেখেও সল্ভ করার চেষ্টা করতে পারেন । নতুনদের হাতেখড়ির জন্যে অ্যাড হোক টাইপের সমস্যাগুলো আগে চেষ্টা করা উচিত । অ্যাড হোক মানে হলো  যেই প্রব্লেমগুলো কোন ক্যাটাগরিতে ফেলা যায় না মানে তারা পূর্বনির্ধারিত কোন অ্যালগরিদমকে অনুসরন করে না ।

আজকে এখানেই শেষ .

দ্বিতীয় এবং শেষ পর্বে ঢু মেরে আসুন

বিঃ দ্রঃ 

কোন বানান,উক্তি,চিন্তা ইত্যাদি ভুল লিখে ফেললে দয়া করে কমেন্টে সঠিক অংশগুলো উল্লেখ করে দিবেন কারন মানুষ মাত্রই ভুল।


লেখকের অনুমতি ব্যাতিত প্রোগ্রামিং এর চাক থেকে লেখা অনুলিপন করা আইনত দণ্ডনীয়।

১১১৮ বার মোট দেখা হয়েছে ১ বার আজ দেখা হয়েছে

মন্তব্য সমূহ