logo

Hvad skal man gøre på tidspunktet for forkert svar (WA)?

Der har altid været en sag om, at et forkert svar snarere giver for meget smerte end TLE (Time Limit Exceed) som i tidligere kunne du ikke finde ud af, hvilken testcase den fejler, men i senere kan du estimere, at for hvilken værdi af N (Total instruktion) den ville vise TLE. 
 

Så hvad skal man gøre på det tidspunkt?

    Læs spørgsmålet omhyggeligt:Ved første gang, hvor du fik WA (Forkert svar), skal du altid være sikker på, at du har læst hvert eneste ord og fuldt ud forstået spørgsmålet, fordi det meste af tiden sprang vi den særlige del over, som er grundlaget for hele spørgsmålet. 
     Tjek input/output formatering:For det meste glemmer programmører normalt at tilføje ny linje eller hvidt mellemrum i henhold til kravet til spørgsmålet. Så før du indsender løsningen til Online dommer, prøv at køre dit program i online compilere som code.geeksforgeeks.org eller ideone .Tjek programmets algoritme/logik:Vær sikker på, at du bruger korrekt logik, der dækker alle testcases eller ej. 
     Hjørne testcasesPrøv at køre din kode på grænsetestsager, hvis det er muligt, såsom 0 1 2 eller N. 

     

Undgå dumme fejl



    Initialiser variabel:Nogle gange glemmer vi at geninitialisere variable arrays efter hver testcase T. For eksempel- 
    • Initialiser værdien af ​​tællevariabelen til 0.
    • Indstilling af al værdi af DP[]-array til 0 eller -1.
    Datatype Overløb:Hold altid den begrænsning, der er givet på værdien af ​​N eller andet input i dit sind, og lav dit program inden for rækkevidden af ​​den korrekte datatype som int long long i C/C++ eller int long i JAVA osv. for at undgå overløb. 
     Modulært problem:I spørgsmål som Modular Arithmetic (svar % MOD) skal du altid sikre dig, at svaret ikke får en negativ værdi, så prøv at bruge (svar + MOD) % MOD, der dækker alle muligheder. 
     

Fejlretning  

    Den vigtigste del er fejlretning:Du kan enten bruge indbygget debugger af Codeblock Eclipse i henholdsvis C/C++ og JAVA, eller du kan udskrive variablen efter hver eneste linje, så du kan vurdere, om dit program kører i henhold til dit krav eller ej.Brug påstand:Hvis du skal skrive en masse linjer i din kode, så er det det hele værd at bruge assert(). Klik her for at læse mere om, hvordan du bruger Assertion i Competitive programmering. 
     Se efter de angivne forslag:Selvom dette burde være det sidste trin, skal du se på kommentarerne nedenfor, hvor andre programmører muligvis også står over for det samme problem og har givet et tip om, hvordan man kan udrydde dette problem.



Prøv i sidste ende altid at skrive en ren kode med en lille funktion, der har et veldefineret formål.  

 

Opret quiz