logo

Ką daryti neteisingo atsakymo (WA) metu?

Visada buvo atvejis, kad neteisingas atsakymas sukelia per daug skausmo TLE (viršytas laiko limitas) kaip ir anksčiau, jūs negalėjote nustatyti, kuris bandymo atvejis nepavyko, bet vėliau galite įvertinti, kuriai N (Total instrukcija) reikšmei jis parodys TLE. 
 

Taigi, ką daryti tuo metu?

    Atidžiai perskaitykite klausimą:Kai pirmą kartą gavote WA (neteisingą atsakymą), visada įsitikinkite, kad perskaitėte kiekvieną žodį ir visiškai supratote klausimą, nes dažniausiai mes praleidome tą konkrečią dalį, kuri yra viso klausimo pagrindas. 
     Patikrinkite įvesties / išvesties formatavimą:Dažniausiai programuotojai pamiršta pridėti naują eilutę arba tarpą pagal klausimo reikalavimą. Taigi, prieš pateikdami sprendimą Online teisėjui, pabandykite paleisti savo programą tokiuose internetiniuose kompiliatoriuose kaip code.geeksforgeeks.org arba ideone .Patikrinkite programos algoritmą / logiką:Įsitikinkite, kad naudojate teisingą logiką, kuri apima visus bandymo atvejus, ar ne. 
     Kampiniai bandymų atvejaiJei įmanoma, pabandykite paleisti kodą ribiniais bandymais, pvz., 0 1 2 arba N. 

     

Venkite kvailų klaidų



    Inicijuoti kintamąjį:Kartais pamirštame iš naujo inicijuoti kintamųjų masyvus po kiekvieno testo T. Pavyzdžiui, 
    • Skaičiavimo kintamojo reikšmę inicijuokite į 0.
    • Visos DP[] masyvo reikšmės nustatymas į 0 arba -1.
    Duomenų tipas Perpildymas:Visada nepamirškite N ar kitos įvesties vertės apribojimo ir sukurkite programą tinkamo duomenų tipo diapazone, pvz., int long long C/C++ arba int long JAVA ir tt, kad išvengtumėte perpildymo. 
     Modulinė problema:Į tokius klausimus kaip modulinė aritmetika (atsakymų % MOD) visada įsitikinkite, kad atsakymas negauna neigiamos reikšmės, todėl pabandykite naudoti (atsakymas + MOD) % MOD, kuris apims visas galimybes. 
     

Derinimas  

    Svarbiausia dalis yra derinimas:Galite naudoti integruotą Codeblock Eclipse derintuvą atitinkamai C/C++ ir JAVA arba galite atspausdinti kintamąjį po kiekvienos eilutės, kad galėtumėte įvertinti, ar jūsų programa veikia pagal jūsų poreikius, ar ne.Naudokite tvirtinimą:Jei savo kode ketinate parašyti daug eilučių, naudoti assert () yra visiškai verta. Spustelėkite čia Norėdami sužinoti daugiau apie tai, kaip naudoti tvirtinimą konkurencingame programavime. 
     Ieškokite pateiktų pasiūlymų:Nors tai turėtų būti paskutinis žingsnis, bet jūs turite pažvelgti į toliau pateiktus komentarus, kuriuose kiti programuotojai taip pat galėjo susidurti su ta pačia problema ir davė užuominą, kaip šią problemą išnaikinti.



Galiausiai visada stenkitės parašyti švarų kodą su maža funkcija, kuri turi gerai apibrėžtą paskirtį.  

 

Sukurti viktoriną