Vždy sa vyskytol prípad, že nesprávna odpoveď spôsobí príliš veľa bolesti TLE (prekročenie časového limitu) ako v predchádzajúcom prípade ste nemohli zistiť, ktorý testovací prípad zlyháva, ale neskôr môžete odhadnúť, že pre akú hodnotu N (celková inštrukcia) by to ukázalo TLE.
Čo teda v tom čase robiť?
Pozorne si prečítajte otázku:
Keď ste prvýkrát dostali WA (nesprávna odpoveď), vždy sa uistite, že ste si prečítali každé slovo a úplne porozumeli otázke, pretože väčšinou sme preskočili tú konkrétnu časť, ktorá je základom celej otázky.
Skontrolujte formátovanie vstupu/výstupu:
Väčšinou programátori zvyčajne zabudnú pridať nový riadok alebo medzeru podľa požiadavky otázky. Takže pred odoslaním riešenia online sudcovi sa pokúste spustiť svoj program v online kompilátoroch ako code.geeksforgeeks.org alebo ideone .
Skontrolujte algoritmus/logiku programu:
Uistite sa, že používate správnu logiku, ktorá pokrýva všetky testovacie prípady alebo nie.
Rohové testovacie prípady
Pokúste sa spustiť svoj kód na hraničných testovacích prípadoch, ak je to možné, ako napríklad 0 1 2 alebo N.
Vyhnite sa hlúpym chybám
Inicializovať premennú:
Niekedy zabudneme znova inicializovať polia premenných po každom testovacom prípade T. Napríklad-
Inicializujte hodnotu premennej počet na 0.
Nastavenie všetkých hodnôt poľa DP[] na 0 alebo -1.
Typ údajov Pretečenie:
Vždy majte na pamäti obmedzenie dané hodnotou N alebo iného vstupu a urobte svoj program v rozsahu správneho dátového typu, ako je int long long v C/C++ alebo int long v JAVA atď., aby ste sa vyhli pretečeniu.
Modulárny problém:
V otázkach ako Modulárna aritmetika (odpoveď % MOD) vždy zabezpečte, aby odpoveď nedostala zápornú hodnotu, preto skúste použiť (odpoveď + MOD) % MOD, ktorá pokryje všetky možnosti.
Ladenie
Najdôležitejšou časťou je ladenie:
Môžete buď použiť vstavaný debugger Codeblock Eclipse v C/C++ a JAVA, alebo môžete vytlačiť premennú po každom riadku, aby ste mohli odhadnúť, či váš program beží podľa vašich požiadaviek alebo nie.
Použiť tvrdenie:
Ak sa chystáte napísať veľa riadkov vo svojom kóde, potom sa použitie sustain() úplne oplatí. Kliknite tu a prečítajte si viac o tom, ako používať asertion v konkurenčnom programovaní.
Vyhľadajte uvedené návrhy:
Aj keď by to mal byť posledný krok, musíte sa pozrieť na komentáre uvedené nižšie, v ktorých iní programátori mohli tiež čeliť rovnakému problému a poskytli rady, ako tento problém odstrániť.
Nakoniec sa vždy pokúste napísať čistý kód s malou funkciou, ktorá má dobre definovaný účel.