#41125: [Java]用自己電腦跑沒問題,但丟上來的input好像會出問題?


8537chenj@gmail.com (鴨霸呱)

學校 : 南華大學
編號 : 276021
來源 : [114.40.209.85]
最後登入時間 :
2024-07-17 05:40:12
o079. 4. 最佳選擇 -- 2024年6月APCS | From: [36.239.34.236] | 發表日期 : 2024-07-06 05:12

import java.util.*;
class X{
static int score=0;
    public static void main(String[] args){
        int even=0;
        int odd=0;
        int sum=0;
Scanner sc = new Scanner(System.in);
String temp=sc.next();
String[] str=temp.split(",");
int n=Integer.valueOf(str[0]);
int k=Integer.valueOf(str[1]);
int l=0;
        int r=n-1;
sc = new Scanner(System.in);
temp=sc.nextLine();
str=temp.split(" ");
int[] numar = Arrays.stream(str)
.mapToInt(Integer::parseInt)
.toArray();
        System.out.println(findnext(n,k,even,odd,sum,l,r,numar));
    }
 
    public static int findnext(int n,int k,int even,int odd,int sum,int l,int r,int numar[]){
if(sum<=k){
            if(odd==even && sum>score){score=sum;}
            if(numar[l]%2==1){
                even+=1;
                sum+=numar[l];
                l+=1;
                findnext(n,k,even,odd,sum,l,r,numar);
            }else{
                odd+=1;
                sum+=numar[l];
                l+=1;
                findnext(n,k,even,odd,sum,l,r,numar);
            }
            if(numar[r]%2==1){
                even+=1;
                sum+=numar[r];
                r-=1;
                findnext(n,k,even,odd,sum,l,r,numar);
            }else{
                odd+=1;
                sum+=numar[r];
                r-=1;
                findnext(n,k,even,odd,sum,l,r,numar);
            }
        }
return score;
    }
 
}
 
#41126: Re: [Java]用自己電腦跑沒問題,但丟上來的input好像會出問題?


8537chenj@gmail.com (鴨霸呱)

學校 : 南華大學
編號 : 276021
來源 : [114.40.209.85]
最後登入時間 :
2024-07-17 05:40:12
o079. 4. 最佳選擇 -- 2024年6月APCS | From: [36.239.34.236] | 發表日期 : 2024-07-06 05:18

後來scanner有close了 但還是一樣 求救嗚嗚

 
#41127: Re: [Java]用自己電腦跑沒問題,但丟上來的input好像會出問題?


cges30901 (cges30901)

學校 : 不指定學校
編號 : 30877
來源 : [39.9.74.255]
最後登入時間 :
2024-10-14 22:20:08
o079. 4. 最佳選擇 -- 2024年6月APCS | From: [114.136.214.28] | 發表日期 : 2024-07-06 09:29

 
String[] str=temp.split(",");
int n=Integer.valueOf(str[0]);
int k=Integer.valueOf(str[1]);


看不懂你想做什麼,輸入沒有逗號為什麼要split(",")?

錯誤訊息就說了超出陣列範圍,str長度只有1,你用了str[1]是不行的

 
ZeroJudge Forum