logo

ماذا تفعل عند الإجابة الخاطئة (WA)؟

كانت هناك دائمًا حالة مفادها أن الإجابة الخاطئة تسبب الكثير من الألم بدلاً من أن تكون كذلك TLE (تجاوز الحد الزمني) كما هو الحال في السابق، لم يكن بإمكانك التأكد من حالة الاختبار التي فشلت فيها ولكن في وقت لاحق يمكنك تقدير قيمة N (إجمالي التعليمات) التي ستظهر TLE. 
 

إذن ماذا تفعل في ذلك الوقت؟

    إقرأ السؤال بعناية:في المرة الأولى التي تحصل فيها على WA (إجابة خاطئة)، تأكد دائمًا من أنك قرأت كل كلمة وفهمت السؤال تمامًا لأننا في معظم الأوقات تخطينا هذا الجزء المعين الذي يمثل أساس السؤال بأكمله. 
     التحقق من تنسيق الإدخال/الإخراج:غالبًا ما ينسى المبرمجون إضافة سطر جديد أو مسافة بيضاء وفقًا لمتطلبات السؤال. لذا، قبل تقديم الحل إلى القاضي عبر الإنترنت، حاول تشغيل برنامجك في المترجمين عبر الإنترنت مثل code.geeksforgeeks.org أو com.ideone .التحقق من الخوارزمية/منطق البرنامج:تأكد من أنك تستخدم المنطق الصحيح الذي يغطي جميع حالات الاختبار أم لا. 
     حالات اختبار الزاويةحاول تشغيل التعليمات البرمجية الخاصة بك في حالات اختبار الحدود إن أمكن مثل 0 1 2 أو N. 

     

تجنب الأخطاء السخيفة



    تهيئة المتغير:في بعض الأحيان ننسى إعادة تهيئة صفائف المتغيرات بعد كل حالة اختبار T. على سبيل المثال- 
    • تهيئة قيمة متغير العد إلى 0.
    • ضبط كل قيمة صفيف DP[] على 0 أو -1.
    نوع البيانات تجاوز السعة:احتفظ دائمًا بالقيد المعطى على قيمة N أو أي مدخلات أخرى في عقلك واجعل برنامجك في نطاق نوع البيانات الصحيح مثل int long long في C/C++ أو int long في JAVA وما إلى ذلك لتجنب التجاوز. 
     مشكلة وحدات:في أسئلة مثل الحساب المعياري (answer % MOD) تأكد دائمًا من أن الإجابة لا تحصل على قيمة سالبة، لذا حاول استخدام (answer + MOD) % MOD الذي سيغطي جميع الاحتمالات. 
     

تصحيح الأخطاء  

    الجزء الأكثر أهمية هو التصحيح:يمكنك إما استخدام مصحح أخطاء Codeblock Eclipse المدمج في C/C++ وJAVA على التوالي أو يمكنك طباعة المتغير بعد كل سطر حتى تتمكن من تقدير ما إذا كان برنامجك يعمل وفقًا لمتطلباتك أم لا.استخدام التأكيد:إذا كنت ستكتب عددًا كبيرًا من الأسطر في شفرتك، فإن استخدام Accept() يستحق كل هذا العناء. انقر هنا لقراءة المزيد حول كيفية استخدام التأكيد في البرمجة التنافسية. 
     ابحث عن الاقتراحات المقدمة:على الرغم من أن هذه يجب أن تكون الخطوة الأخيرة ولكن يجب عليك إلقاء نظرة على التعليقات الواردة أدناه والتي ربما واجه فيها المبرمجون الآخرون نفس المشكلة وقدموا تلميحًا حول كيفية القضاء على هذه المشكلة.



في النهاية، حاول دائمًا كتابة رمز نظيف بوظيفة صغيرة لها غرض محدد جيدًا.  

 

إنشاء اختبار