1 条题解
-
0
Java :
import java.math.BigDecimal; import java.math.BigInteger; import java.util.Scanner; public class Main { public static BigInteger min(BigInteger a,BigInteger b) { if(a.compareTo(b)<0) return a; return b; } public static void main(String args[]) { Scanner cin=new Scanner(System.in); int maxn=1100; BigInteger dp[][]=new BigInteger[21][maxn]; for(int i=0;i<maxn;i++) { dp[2][i]=BigInteger.ZERO; dp[3][i]=BigInteger.valueOf(2).pow(i).subtract(BigInteger.ONE); } dp[2][1]=BigInteger.ONE; for(int i=4;i<21;i++) { dp[i][0]=BigInteger.ZERO; for(int j=1;j<maxn;j++) { dp[i][j]=dp[i-1][j]; for(int k=0;k<=j;k++) dp[i][j]=min(dp[i][j],dp[i][j-k].multiply(BigInteger.valueOf(2)).add(dp[i-1][k])); } } while(cin.hasNext()) { int m=cin.nextInt(); int n=cin.nextInt(); System.out.println(dp[m][n]); } } }
- 1
信息
- ID
- 1507
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者