logo

Co dělat v době špatné odpovědi (WA)?

Vždy se vyskytl případ, kdy špatná odpověď spíše způsobí příliš mnoho bolesti TLE (překročení časového limitu) jako v předchozím případě jste nemohli zjistit, který testovací případ selhává, ale později můžete odhadnout, že pro jakou hodnotu N (celková instrukce) by ukázal TLE. 
 

Co tedy v tu chvíli dělat?

    Přečtěte si pozorně otázku:Když poprvé dostanete WA (nesprávná odpověď), vždy se ujistěte, že jste si přečetli každé slovo a plně porozuměli otázce, protože většinu času jsme vynechali tu konkrétní část, která je základem celé otázky. 
     Zkontrolujte formátování vstupu/výstupu:Většinou programátoři obvykle zapomenou přidat nový řádek nebo prázdné místo podle požadavku otázky. Takže před odesláním řešení online soudci zkuste spustit svůj program v online kompilátorech jako code.geeksforgeeks.org nebo ideone .Zkontrolujte algoritmus/logiku programu:Ujistěte se, že používáte správnou logiku, která pokrývá všechny testovací případy nebo ne. 
     Rohové testovací případyPokuste se spustit svůj kód na hraničních testovacích případech, pokud je to možné, jako je 0 1 2 nebo N. 

     

Vyvarujte se hloupých chyb



    Inicializovat proměnnou:Někdy zapomeneme znovu inicializovat pole proměnných po každém testovacím případě T. Například- 
    • Inicializujte hodnotu proměnné count na 0.
    • Nastavení všech hodnot pole DP[] na 0 nebo -1.
    Typ dat Přetečení:Vždy mějte na paměti omezení dané hodnotou N nebo jiného vstupu a udělejte svůj program v rozsahu správného datového typu, jako je int long long v C/C++ nebo int long v JAVA atd., aby nedošlo k přetečení. 
     Modulární problém:V otázkách jako Modulární aritmetika (odpověď % MOD) vždy zajistěte, aby odpověď nedostala zápornou hodnotu, takže zkuste použít (odpověď + MOD) % MOD, která pokryje všechny možnosti. 
     

Ladění  

    Nejdůležitější částí je ladění:Můžete buď použít vestavěný debugger Codeblock Eclipse v C/C++ a JAVA, nebo můžete vytisknout proměnnou po každém řádku, abyste mohli odhadnout, zda váš program běží podle vašich požadavků nebo ne.Použijte tvrzení:Pokud se chystáte napsat spoustu řádků ve svém kódu, pak se použití sustain() zcela vyplatí. Klikněte zde přečtěte si více o tom, jak používat Assertion v konkurenčním programování. 
     Vyhledejte uvedené návrhy:I když by to měl být poslední krok, musíte se podívat na komentáře uvedené níže, ve kterých ostatní programátoři mohli také čelit stejnému problému a dali tip, jak tento problém vymýtit.



Nakonec se vždy snažte napsat čistý kód s malou funkcí, která má dobře definovaný účel.  

 

Vytvořit kvíz