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.
Kvíz létrehozása