解決浙大PAT用JAVA返回非零以及執行超時異常
阿新 • • 發佈:2019-01-26
恕我先直言,陳老師是時候更新下pat的測試java的判定系統了吧。。。簡直是對java選手的褻瀆啊……
恐怕很多人遇到了這個情況,第三方牛客網執行正常,到了浙大pat官網用同樣的java程式碼怎麼就返回非零了呢?請各位往下看!
一、對於返回非零,官方微信寫的是:c語言沒有return 0,java語言執行出現異常。
解決方法:
- 首先確保沒有加package,類名稱為Main。
- 為了執行效率,請使用
BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));
因為pat系統對scanner支援不友好且執行時間長。 - 請在使用完bufferedreader之後立刻使用close();方法關閉,否則可能會發生記憶體洩漏(關閉的越早越好)。
- 【重要】請不要隨便import沒有用到的包,親測若是匯入了java.util.Scanner可是你沒有用到scanner,就會返回非零。
二、對於執行超時
- 一般對於100ms時間限制的題目,基本ac不了,哪怕優化得再好。因為很多乙級題目執行時長(該死的jvm啟動)在100ms上下,運氣好ac的多,運氣差全超時!
- 200ms以上的題目,若是執行超時,那就請不要用暴力破解。
- 還是超時的話,建議換語言。官方說明:選擇合適的語言也是一種技巧,所以不給你java放寬時間限制!