無論在什么學習中,在成長的過程中,注定要犯一些錯誤,有些比較高級的錯誤,有些是比較智障的錯誤。那么在oi的學習中,我們最討厭的就是一些智障的小錯誤,因為如果是大錯誤的話一般情況下在測試樣例的時候都是能夠發現的(比如死循環啊什么的),然而智障的小錯誤有時候能讓我們20分鐘敲出來的程序檢查個一個小時甚至一天(當然不是在競賽中),那么總結一下這些智障的小錯誤能夠幫助我們在程序莫名其妙掛掉的時候能夠往那個方面去檢查。
1.在寫if語句的時候:
if(){} else if(){}
最好加上else,別問我咋知道的,noip2016的T1就是因為這個問題本來ac的程序變成了30。QAQ。
2.需要多重循環的時候,如果這層循環是有特殊含義的時候,最好別用循環變量表示(i,j,k,l等),當然,如果你是dalao除外。最近寫了一道題,最外層循環表示要枚舉的數,我用i表示了,然后這個兩重循環還挺長,這就導致了有一個循環寫成了
for(int j=1;j<=n;i++)
然后就智障的查了兩天才發現,果斷想掐死自己QAQ。
3.當變量賊多的時候,還是用他們的英語當變量名比較好,因為我是個弱雞,還沒有深知亂起變量名的危害,這就導致了我又一次開了八個變量分別是
int x[100],xx[100],xxx[100],xxxx[100]; int y[100],yy[100],yyy[100],yyyy[100];
而且還沒有加注釋(f**k!!!!),導致我每次想要往數組里存數據的時候都要往上看看這個數組到底是表示什么的,然后又是因為手滑有一個數組多打了一個x查了一天QAQ。
?