logo

Kaj storiti v primeru napačnega odgovora (WA)?

Vedno se zgodi, da napačen odgovor prej povzroči preveč bolečine TLE (časovna omejitev presežena) kot v prejšnjem primeru niste mogli ugotoviti, kateri testni primer je neuspešen, kasneje pa lahko ocenite, za katero vrednost N (skupno navodilo) bi prikazal TLE. 
 

Kaj torej storiti takrat?

    Previdno preberite vprašanje:Ko prvič dobite WA (napačen odgovor), se vedno prepričajte, da ste prebrali vsako besedo in v celoti razumeli vprašanje, ker smo večino časa preskočili tisti del, ki je osnova celotnega vprašanja. 
     Preverite vhodno/izhodno oblikovanje:Večinoma programerji običajno pozabijo dodati novo vrstico ali presledek glede na zahtevo vprašanja. Torej, preden predložite rešitev spletnemu sodniku, poskusite zagnati svoj program v spletnih prevajalnikih, kot je code.geeksforgeeks.org oz ideone .Preverite algoritem/logiko programa:Prepričajte se, da uporabljate pravilno logiko, ki pokriva vse testne primere ali ne. 
     Kotni testni primeriPoskusite zagnati svojo kodo na mejnih testnih primerih, če je mogoče, kot je 0 1 2 ali N. 

     

Izogibajte se neumnim napakam



    Inicializiraj spremenljivko:Včasih pozabimo znova inicializirati niz spremenljivk po vsakem preskusnem primeru T. Na primer- 
    • Inicializirajte vrednost spremenljivke count na 0.
    • Nastavitev vseh vrednosti matrike DP[] na 0 ali -1.
    Tip podatkov Overflow:Vedno imejte v mislih omejitev, podano glede vrednosti N ali drugega vnosa, in naredite svoj program v območju pravilnega podatkovnega tipa, kot je int long long v C/C++ ali int long v JAVA itd., da se izognete prelivanju. 
     Modularni problem:Pri vprašanjih, kot je Modularna aritmetika (odgovor % MOD), vedno zagotovite, da odgovor ne dobi negativne vrednosti, zato poskusite uporabiti (odgovor + MOD) % MOD, ki bo pokril vse možnosti. 
     

Odpravljanje napak  

    Najpomembnejši del je odpravljanje napak:Uporabite lahko vgrajen razhroščevalnik Codeblock Eclipse v C/C++ oziroma JAVA ali pa natisnete spremenljivko za vsako vrstico, tako da lahko ocenite, ali vaš program deluje v skladu z vašimi zahtevami ali ne.Uporabi trditev:Če boste v svojo kodo napisali veliko vrstic, se uporaba assert() popolnoma splača. Kliknite tukaj če želite prebrati več o tem, kako uporabiti Assertion v tekmovalnem programiranju. 
     Poiščite podane predloge:Čeprav bi moral biti to zadnji korak, si morate ogledati spodnje komentarje, v katerih so se morda tudi drugi programerji soočali z isto težavo in dali namig o tem, kako odpraviti to težavo.



Konec koncev vedno poskusite napisati čisto kodo z majhno funkcijo, ki ima dobro definiran namen.  

 

Ustvari kviz