logo

מה לעשות בזמן תשובה שגויה (WA)?

תמיד היה מקרה שתשובה שגויה נותנת יותר מדי כאב במקום TLE (חריגה של מגבלת זמן) כמו בקודם לא הצלחת לברר באיזה מקרה מבחן הוא נכשל, אבל בהמשך אתה יכול להעריך שעבור איזה ערך של N (הוראה כוללת) הוא יראה TLE. 
 

אז מה לעשות באותו זמן?

    קרא בעיון את השאלה:בפעם הראשונה כשקיבלת WA(תשובה שגויה) אז תמיד היה בטוח שקראת כל מילה ומילה והבנת במלואה את השאלה כי רוב הזמן דילגנו על החלק המסוים הזה שהוא הבסיס לכל השאלה. 
     בדוק עיצוב קלט/פלט:לרוב מתכנתים שוכחים להוסיף קו חדש או רווח לבן בהתאם לדרישת השאלה. אז לפני שליחת הפתרון לשופט מקוון נסה להפעיל את התוכנית שלך במהדרים מקוונים כמו code.geeksforgeeks.org אוֹ אידיאוני .בדוק את האלגוריתם/הלוגיקה של התוכנית:ודא שאתה משתמש בלוגיקה נכונה המכסה את כל מקרי הבדיקה או לא. 
     מקרי בדיקה פינתייםנסה להפעיל את הקוד שלך על מקרי בדיקת גבול אם אפשר, כמו 0 1 2 או N. 

     

הימנע מטעויות מטופשות



    אתחול משתנה:לפעמים אנחנו שוכחים לאתחל מחדש מערכי משתנים אחרי כל מקרה מבחן T. לדוגמה- 
    • אתחול הערך של משתנה הספירה ל-0.
    • הגדרת כל הערכים של מערך DP[] ל-0 או -1.
    גלישה מסוג נתונים:שמור תמיד על האילוץ הנתון על הערך של N או קלט אחר בראש שלך והפוך את התוכנית שלך לטווח של סוג הנתונים הנכון כמו int long long ב-C/C++ או int long ב-JAVA וכו' כדי למנוע הצפת יתר. 
     בעיה מודולרית:בשאלות כמו אריתמטיקה מודולרית (תשובה % MOD) וודאו תמיד שהתשובה לא מקבלת ערך שלילי אז נסו להשתמש (תשובה + MOD) % MOD שיכסה את כל האפשרויות. 
     

איתור באגים  

    החלק החשוב ביותר הוא איתור באגים:אתה יכול להשתמש ב-debugger מובנה של Codeblock Eclipse ב-C/C++ ו-JAVA בהתאמה או שאתה יכול להדפיס את המשתנה אחרי כל שורה ושורה כדי שתוכל להעריך שהתוכנית שלך פועלת בהתאם לדרישתך או לא.השתמש בטענה:אם אתה מתכוון לכתוב הרבה שורות בקוד שלך אז השימוש ב-assert() שווה את זה. נְקִישָׁה כָּאן כדי לקרוא עוד על אופן השימוש ב-Assertion בתכנות תחרותי. 
     חפש הצעות שניתנו:אמנם זה אמור להיות השלב האחרון, אך עליך להסתכל על ההערות המופיעות להלן, שבהן ייתכן שגם מתכנתים אחרים מתמודדים עם אותה בעיה ונתנו רמז כיצד למגר את הבעיה הזו.



בסופו של דבר תמיד נסו לכתוב קוד נקי עם פונקציה קטנה שיש לה מטרה מוגדרת היטב.  

 

צור חידון