Online judge errors

Online judge errors discussion: 


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

Time Limit Exceeded (TL): তোমার কোডটি রান হতে অনেক বেশি সময় নিচ্ছে । মনে কর তোমার কোড এর রান টাইম দেওয়া আছে ৩.০ সেকেন্ড কিন্তু তোমার রান করতে ৩.০ সেকেন্ডের বেশি সময় লাগচ্ছে । এই সমস্যা সমাধানের জন্য তোমার এলগরিদম পরিবর্তন করতে হবে।

Memory Limit Exceeded (ML):  এই সমস্যা ও TL এর মতই । তোমার কোড এর মেমরি বেশি লাগচ্ছে, যতটুকু মেমরি জাজ ঠিক করে দিয়েছে তার থেকে । মনে কর তোমার কোড এর জন্য মেমরি দেওয়া আছে ৩ মেগাবাইট কিন্তু তোমার কোড এর জন্য মেমরি লাগছে ৩ মেগাবাইট এর বেশি । এই সমস্যা সমাধানের জন্য তোমার এলগরিদম পরিবর্তন করতে হবে।
Runtime Error (RE): তোমার কোডটি execution (segmentation fault, floating point exception...) এর সময় সমস্যা হচ্ছে ।
Presentation Error (PE): তোমার কোডের আউটপুট সব ঠিকই আছে কিন্তু হয়ত দুই-একটা space কম বা বেশি প্রিন্ট করেছ। এসব ক্ষেত্রে এই error দেখানো হতে পারে। এই ভার্ডিক্ট পেলে কোডের কোন লজিক বা হিসাব-নিকাশে পরিবর্তন করবে না। শুধুমাত্র চেক করবে তোমার output function-টা। ঠিকঠাক মত sample Output এর সাথে তোমার প্রোগ্রামের আউটপুট চেক করবা। কোনো লাইন শেষে নিউ লাইন (\n) মিস হলো কিনা সেটা চেক করতে হবে। ছোট খাটো একটা স্পেস নিউ লাইন ট্যাব এর জন্য এই ধরনের এরর দেখায় অনলাইন জাজ গুলো।


Compile Error (CE): তোমার কোডটা অনলাইন জাজের পিসির compiler ঠিক মত কম্পাইল করতে পারে নি। হয়ত তুমি এমন কিছু কোড করেছ যেটা জাজের পিসি’র কম্পাইলার সাপোর্ট করে না। আবার এমনও হতে পারে তুমি প্রবলেমে কোড সাবমিট করার সময় ভুলে programming language সিলেক্ট করলা Java, কিন্তু তুমি কোড করেছ C++ এ। তখন কী হবে? জাজের পিসি তোমার এই কোডকে Java’র কম্পাইলার দিয়ে কম্পাইল করার চেষ্টা করবে। কিন্তু দেখবে এটি কম্পাইল করা যাচ্ছে না। তখন এই ফলাফল পাওয়া যাবে।
আবার অনেক সময় standard না এমন method/function ব্যবহার করলেও এই error আসতে পারে। যেমন C প্রোগ্রামে string reverse করার জন্য strrev() function টা ব্যবহার করলা। কিন্তু হেডার ফাইল <string.h> ইনক্লুড করলে না, এক্ষেত্রে জাজ এর পিসি তোমার কোডের strrev() ফাংশনটি চিনতে পারবে না . যার ফলস্বরূপ এরর খাবা । অথবা <conio.h> header file include করলা ও এর কোন ফাংশন নিয়ে কাজ করলা। মোটামুটি নিশ্চিত যে Compile Error খাবা!
Wrong Answer (WA): কোডের লজিক ভুল থাকলে, কোডের আউটপুট স্যাম্পল আউটপুটের সাথে না মিললে এই এরর আসতে পারে। অনেক ক্ষেত্রে এরর এর % ও উল্লেখ করে দেওয়া হয়। এই ধরনের এরর আসলে প্রবলেম সেট টা আবারো ভালো করে পড়ে কোডের লজিক অথবা ইমপ্লিমেন্টেশনে ভুল ধরার চেষ্টা করতে হবে।
আপাতত এই কয়েকটা এরর এর সম্মুখীন হওয়ার সম্ভাবনা বেশি। আরো অনেক ধরনের এরর আছে, হয়তো সেগুলো নিয়ে পরে আলোচনা করবো যদি তোমাদের প্রয়োজন পড়ে তাহলে।
In judge queue (QU): জাজ ব্যস্ত থাকার কারনে এই সমস্যা হয়ে থাকে । যত তারাতারি সম্ভব তোমার কোড সাবমিশন হয়ে যাবে এবং Verdict এ দেখাবে।
Accepted(AC): তোমার কোডটি সঠিক ।
 
আপাতত এই কয়েকটি এরর নিয়ে আলোচনা করা হল । সামনে সময় পেলে বাকি গুল নিয়ে আলোচনা করব ।
 
- ধন্যবাদ

 

No comments

Theme images by enjoynz. Powered by Blogger.