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řípady
Pokuste 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.