logo

Hva skal jeg gjøre på tidspunktet for feil svar (WA)?

Det har alltid vært et tilfelle at et feil svar gir for mye smerte i stedet for TLE (Time Limit Exceed) som i tidligere kunne du ikke fastslå hvilken testtilfelle den mislyktes, men i senere kan du anslå at for hvilken verdi av N (Total instruksjon) den ville vise TLE. 
 

Så hva skal man gjøre på den tiden?

    Les spørsmålet nøye:Den første gangen du fikk WA (Feil svar), må du alltid være sikker på at du har lest hvert eneste ord og fullt ut forstått spørsmålet, fordi mesteparten av tiden hoppet vi over den delen som er grunnlaget for hele spørsmålet. 
     Sjekk Input/Output-formatering:For det meste glemmer programmerere vanligvis å legge til ny linje eller mellomrom i henhold til kravet til spørsmålet. Så før du sender inn løsningen til Online dommer prøv å kjøre programmet i online kompilatorer som code.geeksforgeeks.org eller ideone .Sjekk programmets algoritme/logikk:Pass på at du bruker riktig logikk som dekker alle testtilfellene eller ikke. 
     HjørneprøvesakerPrøv å kjøre koden din på grensetesttilfeller hvis mulig som 0 1 2 eller N. 

     

Unngå dumme feil



    Initialiser variabel:Noen ganger glemmer vi å reinitialisere variabelarrays etter hvert testtilfelle T. For eksempel- 
    • Initialiser verdien av tellevariabelen til 0.
    • Setter alle verdiene til DP[]-matrisen til 0 eller -1.
    Datatype Overflyt:Ha alltid begrensningen gitt på verdien av N eller andre inndata i tankene dine, og gjør programmet ditt i rekkevidden av riktig datatype som int long long i C/C++ eller int long i JAVA osv. for å unngå overløp. 
     Modulært problem:I spørsmål som Modular Arithmetic (svar % MOD) sørg alltid for at svaret ikke får en negativ verdi, så prøv å bruke (svar + MOD) % MOD som vil dekke alle muligheter. 
     

Feilsøking  

    Den viktigste delen er feilsøking:Du kan enten bruke innebygd debugger av Codeblock Eclipse i henholdsvis C/C++ og JAVA, eller du kan skrive ut variabelen etter hver eneste linje slik at du kan anslå at programmet kjører i henhold til dine krav eller ikke.Bruk påstand:Hvis du skal skrive mange linjer i koden din, er det verdt det å bruke assert(). Klikk her for å lese mer om hvordan du bruker Assertion i konkurransedyktig programmering. 
     Se etter forslag gitt:Selv om dette burde være det siste trinnet, må du se på kommentarene nedenfor der andre programmerere kan ha også hatt det samme problemet og har gitt et hint om hvordan du kan utrydde dette problemet.



Til slutt prøv alltid å skrive en ren kode med en liten funksjon som har veldefinerte formål.  

 

Lag quiz