logo

Čo robiť v čase nesprávnej odpovede (WA)?

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ípadyPokú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.  

 

Vytvoriť kvíz