মঙ্গলবার, ২২ মার্চ, ২০২২

Online judge এর বিভিন্ন ধরনের verdict

Accepted (AC): কোন problem এর জন্য আমাদের program যদি judge এর সকল test case এর জন্য সঠিক output দেখায়, তাহলে আমরা accepted verdict পাই। অবশ্যই test case গুলো বলে দেওয়া time limit ও memory limit এর মধ্যে pass হতে হবে। Contest এ কোন সমস্যার জন্য আমাদের solution code যদি accepted হয়, তবেই ওই rank list এ ওই সমস্যার জন্য point ও penalty যোগ হয়। প্রতি ভুল submission এর জন্য penalty হয়। আবার যত বেশি দেরিতে submission accepted হয়, তত বেশি penalty হয়। যেমন, ICPC তে প্রতি মিনিট এর জন্য penalty 1 আর প্রতিটি ভুল submission এর জন্য penalty 20 হয়। উল্লেখ্য যে, আমাদের solution code টি accepted না হওয়া পর্যন্ত কোন penalty যোগ হবে না। 


Compilation Error (CE): আমাদের submitted code যদি judge compiler সফলভাবে compile করতে না পারে, তবে এই error হয়। তাই code submit করার পূর্বে নিজেদের computer এ program টি compile হচ্ছে কিনা সেটি নিশ্চিত হয়ে নেওয়া উচিত। পাশাপাশি judge compiler এর সাথে নিজেদের IDE এর compiler এর version মিলছে কিনা সেদিকেও খেয়াল রাখা উচিত, নতুবা এমন হতে পারে যে feature টি আমাদের IDE এর compiler এ আছে সেটি judge compiler এ নেই। সেক্ষেত্রে কিন্তু compilation error দেখাবে। 


Wrong Answer (WA): আমাদের program যদি কোন test case এর জন্য ভুল output দেখায়, তবে judge আমাদের Wrong Answer verdict দেয়। এর মানে আমাদের program এর logic ঠিক নেই। হতে পারে সমস্যাটির সমাধান idea ভিন্ন বা আমরা কোন corner case handle করিনি ইত্যাদি। 


Time Limit Exceeded (TLE): সমস্যায় আমাদের একটি time limit দেওয়া থাকে। কোন test case এর জন্য আমাদের program কে এই সময় সীমার মধ্যে output বের করতে হবে। Run করার পর যদি এই সময়ের মধ্যে output না পাওয়া যায়, তবে judge আমাদের Time Limit Exceeded verdict দিবে। 


Memory Limit Exceeded (MLE): Time limit এর মতোই সমস্যায় আমাদের একটি memory limit দেওয়া থাকে। কোন test case এর জন্য আমাদের program এই পরিমাণের বেশি memory ব্যবহার করতে পারবে না। যদি বেশি memory ব্যবহার করতে যায়, তবে judge আমাদের Memory Limit Exceeded verdict দিবে। 



Runtime Error (RE/RTE): Program ঠিকমত compile হওয়ার পর যদি execution এর সময় fail করে, তবে Runtime Error হয়। এই execution failure বিভিন্ন কারণে হতে পারে। যেমন, আমরা যদি কোন array এর invalid index কে access করার চেষ্টা করি, তাহলে judge আমাদের runtime error দিবে। আবার array যদি out of bound হয়ে যায়, অর্থাৎ array size যদি খুব বেশি বড় হয়ে যায়, সেক্ষেত্রে runtime error হয়। 


Presentation Error (PE): যদি আমাদের program সঠিক output দেয়, কিন্তু সমস্যায় বলে দেওয়া output format এর সাথে যদি সেটির presentation যদি হুবহু না মিলে, তবে judge এ ধরনের error দেখায়। সাধারণত ঠিকমত space বা new line (‘\n’) print না করলে এই error আসে। অনেক online judge এ এটিকে wrong answer হিসেবে ধরা হয় এবং contest time এ penalty যোগ হয়। আমার  একবার onsite contest এ line এর শেষে একটি অতিরিক্ত space print করার কারণে penalty খেতে হয়েছিলো। তাই output এ space এর সংখ্যা নিয়ে বিশেষ খেয়াল রাখা উচিত।


Idleness Limit Exceeded (ILE): Program যদি অনেক সময় ধরে idle হয়ে বসে থাকে user interaction থেকে input পাবার আশায়, তবে Idleness Limit Exceeded হয়। 


কোন মন্তব্য নেই:

একটি মন্তব্য পোস্ট করুন