Mindig volt olyan eset, hogy egy rossz válasz inkább túl sok fájdalmat okoz TLE (Time Limit Exceed) az előbbihez hasonlóan nem lehetett megbizonyosodni arról, hogy melyik teszteset hibás, de a későbbiekben meg lehet becsülni, hogy az N (Teljes utasítás) melyik értékére mutatna TLE-t.
Szóval mit kell tenni ilyenkor?
Olvassa el figyelmesen a kérdést:
Amikor először megkapta a WA-t (Wrong Answer), akkor mindig győződjön meg arról, hogy minden egyes szót elolvasott, és teljesen megértette a kérdést, mert legtöbbször kihagytuk azt a részt, amely az egész kérdés alapja.
Ellenőrizze a bemeneti/kimeneti formázást:
A programozók többnyire elfelejtenek új sort vagy szóközt hozzáadni a kérdés követelményének megfelelően. Tehát mielőtt benyújtaná a megoldást az Online bíróhoz, próbálja meg futtatni a programot olyan online fordítóprogramokban, mint pl code.geeksforgeeks.org vagy ideone .
Ellenőrizze a program algoritmusát/logikáját:
Győződjön meg arról, hogy helyes logikát használ, amely lefedi az összes tesztesetet, vagy sem.
Sarokpróbaesetek
Próbálja meg futtatni a kódot határteszteken, ha lehetséges, például 0 1 2 vagy N.
Kerülje el az ostoba hibákat
Változó inicializálása:
Néha elfelejtjük újrainicializálni a változótömböket minden T teszteset után.
A count változó értékét inicializálja 0-ra.
A DP[] tömb összes értékének beállítása 0-ra vagy -1-re.
Adattípus túlcsordulás:
Mindig tartsa szem előtt az N vagy más bemenet értékére adott megszorítást, és állítsa be a programját a megfelelő adattípusok tartományába, mint például int long long C/C++-ban vagy int long JAVA-ban stb., hogy elkerülje a túlcsordulást.
Moduláris probléma:
Az olyan kérdésekben, mint a moduláris aritmetika (válasz % MOD) mindig ügyeljen arra, hogy a válasz ne kapjon negatív értéket, ezért próbálja meg a (válasz + MOD) % MOD-t használni, amely minden lehetőséget lefed.
Hibakeresés
A legfontosabb rész a hibakeresés:
Használhatja a Codeblock Eclipse beépített hibakeresőjét C/C++ és JAVA nyelven, vagy kinyomtathatja a változót minden sor után, így meg tudja becsülni, hogy a program az igényeinek megfelelően fut-e vagy sem.
Használja az állítást:
Ha sok sort fog írni a kódjába, akkor az assert() használata teljesen megéri. Kattintson itt hogy többet megtudjon az Assertion használatáról a versenyképes programozásban.
Keresse meg a kapott javaslatokat:
Bár ennek az utolsó lépésnek kell lennie, de meg kell tekintenie az alábbi megjegyzéseket, amelyekben más programozók is szembesülhettek ugyanezzel a problémával, és tanácsot adtak a probléma felszámolására.
Végül mindig próbáljon meg egy tiszta kódot írni egy kis funkcióval, amelynek jól meghatározott célja van.