在VIJOS上用Java實(shí)現(xiàn)算法出現(xiàn)的問題
問題描述
最后程序編譯出現(xiàn)RUNTIME ERROR【網(wǎng)站提示】Runtime Error 不通過:程序運(yùn)行時(shí)錯(cuò)誤(如數(shù)組越界、被零除、運(yùn)算溢出、棧溢出、無效指針等)
【問題】想必有人做過vijos這道題吧?不太清楚本人程序哪里出現(xiàn)了這樣的問題?另本人還是小白,代碼暴力破解...歡迎愿意的大神提供給更優(yōu)方案哈~
【以下為題目描述】
華華通過以下方式進(jìn)行分析,首先將比賽每個(gè)球的勝負(fù)列成一張表,然后分別計(jì)算在11分制和21分制下,雙方的比賽結(jié)果(截至記錄末尾)。比賽規(guī)則和實(shí)際比賽規(guī)則相同, 在11分制下比分為10:11時(shí)還要繼續(xù)比賽,直到分?jǐn)?shù)差距達(dá)到2分;同理21分制下比分為20:21的時(shí)候也還要繼續(xù)比賽。比如現(xiàn)在有這么一份記錄,(其中W表示華華獲得一分,L表示華華對手獲得一分):WWWWWWWWWWWWWWWWWWWWWWLW在11分制下,此時(shí)比賽的結(jié)果是華華第一局11比0獲勝,第二局11比0獲勝,正在進(jìn)行第三局,當(dāng)前比分1比1。而在21分制下,此時(shí)比賽結(jié)果是華華第一局21比0獲勝,正在進(jìn)行第二局,比分2比1。如果一局比賽剛開始,則此時(shí)比分為0比0。你的程序就是要對于一系列比賽信息的輸入(WL形式),輸出正確的結(jié)果。格式
【輸入格式】
每個(gè)輸入文件包含若干行字符串(每行至多20個(gè)字母),字符串有大寫的W、L和E組成,也許中間有若干個(gè)空格。其中E表示比賽信息結(jié)束,程序應(yīng)該忽略E之后的所有內(nèi)容,E后面可能有干擾文字。輸出格式
輸出由兩部分組成,每部分有若干行,每一行對應(yīng)一局比賽的比分(按比賽信息輸入順序)。其中第一部分是11分制下的結(jié)果,第二部分是21分制下的結(jié)果,兩部分之間由一個(gè)空行分隔。
【樣例輸入1】
WWWWWWWWWWWWWWWWWWWWWWLWE
【樣例輸出1】
11:011:01:1
21:02:1限制
各個(gè)測試點(diǎn)1s
【以下為本人代碼】
import java.util.Scanner;public class Main { public static void main(String[] args){ int i=0; int j=0; int a=0; int b=0; int num=0; Scanner scanner=new Scanner(System.in); String s1=scanner.nextLine(); String s2=scanner.nextLine(); String s=s1+s2; s=s.replace(' ', ''); System.out.println(s); char[] arr=s.toCharArray();for(i=0;i<arr.length;i++){if(arr[i]==’E’){ break;}num++; }char[] result=new char[num];for(i=0;i<num;i++){result[i]=arr[i]; } for(j=0;j<num;j++){if(result[j]==’W’) {a++;}if(result[j]==’L’) {b++;}if(result[j]==’n’) {continue;}if(a==11||b==11&&Math.abs(a-b)>2){System.out.println(a+':'+b); a=0; b=0;}if(j==num-1){System.out.println(a+':'+b); a=0; b=0;}} System.out.println(); for(i=0;i<num;i++){if(result[i]==’W’) {a++;}if(result[i]==’L’) {b++;}if(result[i]==’n’) {continue;}if(a==21||b==21&&Math.abs(a-b)>2){System.out.println(a+':'+b); a=0; b=0;}if(i==num-1){System.out.println(a+':'+b);}}}}
問題解答
回答1:我不太會(huì)java,所以,看不了代碼不過,這個(gè)是NOIP 2003普及組的一個(gè)題目,叫乒乓球,這個(gè)題目有沒得什么算法,就是你說的暴力,實(shí)際上就是模擬統(tǒng)計(jì)結(jié)果就可以了,至于RE,就要檢查下你的數(shù)組的越界問題了下面這個(gè)地址可以下載題目的測試數(shù)據(jù),你把測試數(shù)據(jù)放在本地,一組一組的測試,然后對比結(jié)果,哪組有問題就DEBUG哪組http://www.jxteacher.com/ppt/...
相關(guān)文章:
1. Python從URL中提取域名2. 實(shí)現(xiàn)bing搜索工具urlAPI提交3. node.js - windows10下的npm全局路徑的復(fù)原或者將npm徹底刪除?4. python執(zhí)行cmd命令,怎么讓他執(zhí)行類似Ctrl+C效果將其結(jié)束命令?5. python - scrapy url去重6. MySQL主鍵沖突時(shí)的更新操作和替換操作在功能上有什么差別(如圖)7. mysql在限制條件下篩選某列數(shù)據(jù)相同的值8. 關(guān)于mysql聯(lián)合查詢一對多的顯示結(jié)果問題9. 數(shù)據(jù)庫 - Mysql的存儲(chǔ)過程真的是個(gè)坑!求助下面的存儲(chǔ)過程哪里錯(cuò)啦,實(shí)在是找不到哪里的問題了。10. python - Django有哪些成功項(xiàng)目?
