HDU 1133 Buy the Ticket 卡特兰数 JAVA
来源:互联网 发布:日亚海淘 知乎 编辑:程序博客网 时间:2024/06/01 07:18
题意:一行人排队买票,一张票50元,有m个持有50面值钞票的人,有n个持有100面值钞票的人。问,有多少种方案能够让窗口可以让前面人的钱把后面人的钱找开来,也就是说持有50面值钞票的人要尽量放在100面值钞票的人的前面。
思路:持有50面值钞票的人要尽量放在100面值钞票的人的前面。这是一个卡特兰数的模型了。另外因为每个人是不同的,所有结果要乘上n! 和m! ,因为结果比较大,我就偷懒选了java 来写。
http://acm.hdu.edu.cn/showproblem.php?pid=1133
/********************************************* Problem : HDU 1133 Author : NMfloat InkTime (c) NM . All Rights Reserved .********************************************/import java.io.*;import java.math.*;import java.util.*;public class Main { public static void main(String argv[]) { Scanner cin = new Scanner(System.in); BigInteger [] F = new BigInteger[105]; BigInteger [][] f = new BigInteger[105][105]; for(int i = 0 ; i <= 100 ; i ++) for(int j = 0 ; j <= 100 ; j ++) { if(j == 0) f[i][j] = BigInteger.ONE; else f[i][j] = BigInteger.ZERO; } F[0] = BigInteger.ONE; for(int i = 1 ; i <= 100 ; i++) F[i] = F[i-1].multiply(BigInteger.valueOf(i)); for(int i = 1 ; i <= 100 ; i ++) { for(int j = 1 ; j <= i ; j ++) { f[i][j] = f[i-1][j].add(f[i][j-1]); } } int n , m; int CASE = 1; while(cin.hasNext()) { n = cin.nextInt(); m = cin.nextInt(); if(n == 0 && m == 0) break; System.out.printf("Test #%d:\r\n",CASE++); System.out.println(f[n][m].multiply(F[n]).multiply(F[m])); } }}
0 0
- HDU 1133 Buy the Ticket 卡特兰数 JAVA
- hdu 1133 Buy the Ticket(卡特兰数 + 高精度)
- HDU 1133 Buy the Ticket 卡特兰数
- hdu 1133 Buy the Ticket(卡特兰数)
- HDU-1133Buy the Ticket 卡特兰数买票问题
- HDU-1133Buy the Ticket 卡特兰数买票问题
- HDU 1133 Buy the Ticket【卡特兰数】
- hdu 1133 Buy the Ticket(卡特兰数变形+组合数学+java大数)
- hdu 1133 Buy the Ticket 卡特兰数+递推+java
- Buy the Ticket(卡特兰数 + JAVA大数)
- HDOJ 1133 Buy the Ticket(高精度卡特兰数变形)
- HDU 1133 Buy the Ticket 50,100钱买票,大数乘除法,卡特兰数变形
- HDOJ/HDU 1133 Buy the Ticket(数论~卡特兰数~大数~)
- hdu 1133 Buy the Ticket(卡特兰数+大整数)
- hdoj 1133 Buy the Ticket 【卡特兰】
- Buy the Ticket(卡特兰数应用与大数)
- 【高精度练习+卡特兰数】【Uva1133】Buy the Ticket
- 【hdoj_1133】Buy the Ticket(卡特兰数+大数)
- spring-session源码解读-3
- pointInside和hitTest
- Xcode调试运行和打包归档过程中需要设置的地方
- 每天一点进步:Spark RDD三大特性
- CSU 1548 (三分)
- HDU 1133 Buy the Ticket 卡特兰数 JAVA
- Codeforces 605B 构造
- C++的封装
- Codeforces Round #335 div2
- android中textview常见属性设置
- PAT乙级——1008 锤子剪刀布 (C/C++)
- Fragment操作方法和生命周期的关系
- 第八部视频(作者 语音讲解)TinyOS nesC全手打编程实例
- javascript中的全局函数都有什么