C'è sempre stato il caso in cui una risposta sbagliata dà troppo dolore piuttosto che TLE (superamento del limite temporale) come in precedenza non è stato possibile accertare quale caso di test sta fallendo, ma in seguito è possibile stimare per quale valore di N (istruzione totale) mostrerebbe TLE.
Quindi cosa fare in quel momento?
| Leggi attentamente la domanda: | La prima volta che ricevi WA (risposta sbagliata), assicurati sempre di aver letto ogni singola parola e di aver compreso appieno la domanda perché la maggior parte delle volte abbiamo saltato quella parte particolare che è la base dell'intera domanda.
| Controlla la formattazione di input/output: | Per lo più i programmatori di solito dimenticano di aggiungere una nuova riga o uno spazio bianco in base ai requisiti della domanda. Quindi, prima di inviare la soluzione al giudice online, prova a eseguire il tuo programma in compilatori online come code.geeksforgeeks.org O ideone .
| Controlla l'algoritmo/logica del programma: | Assicurati di utilizzare la logica corretta che copra tutti i casi di test o meno.
| Casi di test angolari | Prova a eseguire il codice su casi di test limite, se possibile, come 0 1 2 o N.
Evita errori stupidi
| Inizializza variabile: | A volte ci dimentichiamo di reinizializzare gli array di variabili dopo ogni caso di test T. Ad esempio-
- Inizializza il valore della variabile count su 0.
- Impostazione di tutti i valori dell'array DP[] su 0 o -1.
| Tipo di dati Overflow: | Tieni sempre a mente il vincolo dato sul valore di N o altro input e rendi il tuo programma nell'intervallo del tipo di dati corretto come int long long in C/C++ o int long in JAVA ecc. per evitare overflow.
| Problema modulare: | In domande come Aritmetica modulare (risposta % MOD) assicurati sempre che la risposta non ottenga un valore negativo, quindi prova a utilizzare (risposta + MOD) % MOD che coprirà tutte le possibilità.
Debug
| La parte più importante è il debug: | Puoi utilizzare il debugger integrato di Codeblock Eclipse rispettivamente in C/C++ e JAVA oppure puoi stampare la variabile dopo ogni riga in modo da poter stimare che il tuo programma sia in esecuzione in base alle tue esigenze o meno.
| Usa asserzione: | Se hai intenzione di scrivere molte righe nel tuo codice, vale assolutamente la pena usare assert(). Clic Qui per saperne di più su come utilizzare Assertion nella programmazione competitiva.
| Cerca i suggerimenti forniti: | Anche se questo dovrebbe essere l'ultimo passaggio, è necessario guardare i commenti forniti di seguito in cui anche altri programmatori potrebbero aver affrontato lo stesso problema e hanno dato un suggerimento su come sradicare questo problema.
Alla fine prova sempre a scrivere un codice pulito con una piccola funzione che abbia uno scopo ben definito.
Crea quiz