Er is altijd wel een geval geweest dat een verkeerd antwoord te veel pijn veroorzaakt in plaats van TLE (tijdslimiet overschreden) zoals je eerst niet kon vaststellen in welk testgeval het faalt, maar later kun je schatten voor welke waarde van N (Totale instructie) het TLE zou laten zien.
Dus wat te doen op dat moment?
Lees de vraag aandachtig:
Als u voor het eerst WA (verkeerd antwoord) krijgt, zorg er dan altijd voor dat u elk woord hebt gelezen en de vraag volledig hebt begrepen, omdat we meestal dat specifieke deel hebben overgeslagen dat de basis vormt van de hele vraag.
Controleer de invoer/uitvoer-opmaak:
Meestal vergeten programmeurs meestal nieuwe regels of witruimte toe te voegen, afhankelijk van de vereisten van de vraag. Probeer dus, voordat u de oplossing aan Online Judge voorlegt, uw programma uit te voeren in online compilers zoals code.geeksforgeeks.org of idee .
Controleer het algoritme/logica van het programma:
Zorg ervoor dat u de juiste logica gebruikt die alle testgevallen bestrijkt of niet.
Hoek testgevallen
Probeer uw code indien mogelijk uit te voeren op grenstestgevallen, zoals 0 1 2 of N.
Vermijd domme fouten
Variabele initialiseren:
Soms vergeten we de variabelenarrays na elk testgeval T opnieuw te initialiseren. Bijvoorbeeld:
Initialiseer de waarde van de telvariabele op 0.
Alle waarden van de DP[]-array instellen op 0 of -1.
Gegevenstype Overloop:
Houd altijd de beperking voor de waarde van N of andere invoer in gedachten en zorg ervoor dat uw programma binnen het bereik van het juiste gegevenstype ligt, zoals int long long in C/C++ of int long in JAVA enz. om overflow te voorkomen.
Modulair probleem:
Zorg er bij vragen als Modulair Rekenen (antwoord % MOD) altijd voor dat het antwoord geen negatieve waarde krijgt, dus probeer (antwoord + MOD) % MOD te gebruiken dat alle mogelijkheden dekt.
Foutopsporing
Het belangrijkste onderdeel is het debuggen:
U kunt de ingebouwde debugger van Codeblock Eclipse in respectievelijk C/C++ en JAVA gebruiken, of u kunt de variabele na elke regel afdrukken, zodat u kunt inschatten of uw programma naar wens draait of niet.
Gebruik bewering:
Als je veel regels in je code gaat schrijven, dan is het gebruik van assert() absoluut de moeite waard. Klik hier voor meer informatie over het gebruik van Assertion in competitief programmeren.
Zoek naar gegeven suggesties:
Hoewel dit de laatste stap zou moeten zijn, moet je kijken naar de onderstaande opmerkingen waarin andere programmeurs mogelijk ook met hetzelfde probleem zijn geconfronteerd en een hint hebben gegeven over hoe dit probleem kan worden opgelost.
Probeer uiteindelijk altijd schone code te schrijven met een kleine functie met een goed gedefinieerd doel.