Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
求助:怎么会超时啊?1000 100的结果都能很快出来import java.util.*; import java.math.BigInteger; public class Main { public static void main(String args[]) { int n,k,b,i,j; BigInteger num[][]=new BigInteger[1001][101]; BigInteger zero=new BigInteger("0"); for(i=1;i<=1000;i++) for(j=1;j<=100;j++) num[i][j]=zero; for(i=1;i<=1000;i++) { for(j=1;j<=100;j++) { if((i==j)||(j==1)) num[i][j]=new BigInteger("1"); else if(i>j) { for(b=1;b<=j;b++) num[i][j]=num[i][j].add(num[i-j][b]); } } } Scanner sc = new Scanner(System.in); n=sc.nextInt(); k=sc.nextInt(); BigInteger sum=new BigInteger("0"); for(i=1;i<=k;i++) sum=sum.add(num[n][i]); System.out.println(sum); } } Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator