做这道题之前可以先做:hdu 1267(递推方法和这道题是一样的知识没有精度计算)这是我的博客链接接:http://www.cnblogs.com/jiangjing/archive/2013/01/18/2866168.html

题意:就是去买票,票价是50元一张,卖票的没有零钱找的,然后买票的只有50元和100元的,题意给出m个人拿了50元n个人拿了100元问总共有多少种买票顺序(不同的人也算)

在hdu 1267里我已经讲了递推方法,我在这里就不纠结了,只要乘以m!n!就可以了

代码实现:

#include<stdio.h>
#include<string.h>
int a[101][101][101]={0};
int b[101][101]={0}; //b数组里面保存的是a数组里面的元素个数
void qiuhe(int x0,int y0,int x1,int y1,int n)//大数相加这种方法可以先学习下,否则看起来比较吃力
{int i,j,k=0;j=b[x0][y0];if(j<b[x1][y1])j=b[x1][y1];for(i=0;i<j;i++){a[x0][y0][i]+=a[x1][y1][i]*n+k;k=a[x0][y0][i]/10000;//每个元素四位a[x0][y0][i]%=10000;}if(k){a[x0][y0][j]=k;b[x0][y0]=j+1;}elseb[x0][y0]=j;
}
void jiecheng(int n)//求大数阶乘
{int i,j,k=0;for(i=0;i<b[n-1][0];i++){a[n][0][i]=1;a[n][0][i]=a[n-1][0][i]*n+k;k=a[n][0][i]/10000;a[n][0][i]=a[n][0][i]%10000;}if(k){a[n][0][i]=k;b[n][0]=i+1;}elseb[n][0]=b[n-1][0];
}
int main()
{int T=0,i,j,m,n;a[1][0][0]=1;b[1][0]=1;for(i=2;i<=100;i++)jiecheng(i);//当m=0时的排列数for(i=1;i<=100;i++)for(j=i;j<=100;j++){qiuhe(j,i,j-1,i,j);qiuhe(j,i,j,i-1,i);}while(scanf("%d%d",&m,&n)!=EOF&&(m||n)){T++;printf("Test #%d:\n",T);printf("%d",a[m][n][b[m][n]-1]);for(i=b[m][n]-2;i>=0;i--)printf("%4.4d",a[m][n][i]);printf("\n");}return 0;
}

转载于:https://www.cnblogs.com/jiangjing/archive/2013/01/18/2866169.html

hdu 1133 Buy the Ticket(递推+精度精算)相关推荐

  1. HDU 1133 Buy the Ticket

    题目大意:M+N个人排队买票,票的单价是50¥,每个人只能买一张. M个人拿50的去买,N个人拿100的去买,然后悲剧的是售票处开始的时候没有钱,所以如果拿100块买票人前面的拿50块买票的人小于或者 ...

  2. HDOJ/HDU 1133 Buy the Ticket(数论~卡特兰数~大数~)

    Problem Description The "Harry Potter and the Goblet of Fire" will be on show in the next ...

  3. HDU 5459 Jesus Is Here (递推,组合数学)

    有点麻烦的递推,递推的原则:向小的问题方向分解,注意边界. 字符串的递推式为 定义f为Si中的总方案数 首先可以得到 fi=fi-1+fi-2+组合(si-2,si-1) 然后考虑Si-2和Si-1之 ...

  4. hdu 2046 骨牌铺方格 递推求解

    骨牌铺方格 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Subm ...

  5. HDU - 6185 Covering(暴搜+递推+矩阵快速幂/杜教BM)

    题目链接:点击查看 题目大意:规定宽度为4,给定长度为n,求用1*2和2*1的瓷砖,将其完全铺满能有多少种方法. 分析:自从学会了矩阵快速幂之后,看到1e18的数据量都会下意识的往递推上面想,但是以前 ...

  6. HDU 2046 骨牌铺方格 递推

    骨牌铺方格 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Subm ...

  7. HDU 6185 Covering 矩阵快速幂 递推

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=6185 题目描述: 一个4*n的矩形, 你用1*2的矩形覆盖有多少种方案, n <= 1e18 ...

  8. HDU 6092 Rikka with Subset 思维 递推

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=6092 题目描述: 给你一个集合的所有子集各个和, 让你找到这个集合, 输出字典序最小 解题思路: 下 ...

  9. hdu 2013 蟠桃记-递推-[解题报告]C++

    蟠桃记 问题描述 : 喜欢西游记的同学肯定都知道悟空偷吃蟠桃的故事,你们一定都觉得这猴子太闹腾了,其实你们是有所不知:悟空是在研究一个数学问题! 什么问题?他研究的问题是蟠桃一共有多少个! 不过,到最 ...

最新文章

  1. 微信小程序 文字换行
  2. MySQL 创建数据表
  3. 主流浏览器及对应内核
  4. 云计算之KVM虚拟化实战
  5. 利用Oracle虚拟私有数据库进行整合
  6. 701. 二叉搜索树中的插入操作
  7. pythoncount函数怎么用_python中count函数简单的实例讲解
  8. python3.6,--登录知乎
  9. 一键刷入twrp工具_OPPORealme X 刷入原生lineage16-AOSP纯净系统完美ROOT 刷机必备
  10. [VB.NET]各们,请问如何使用vb.net编写两个进程间消息通信的程序啊
  11. linux上传文件夹工具,[转] psftp(linux简易上传上载工具)的用法及常用命令
  12. 图形化开发(五)041-Three.js之Camera相机——target焦点和lookAt()方法、OrthographicCamera正交相机、PerspectiveCamera透视相机、相机插件
  13. Mac自带浏览器safari怎么打开开发者选项
  14. 移动端微信浏览器调试工具整理eruda,微信x5调试工具无法使用,推荐新工具eruda、vconsole和debugxweb
  15. 巴比特观察丨CryptoPunks再次爆火,幕后推手找到了!
  16. 极简生活牙膏,让你的口腔清新一整天!
  17. 478-82(56、128、718、129)
  18. Vue中用Three.js创建一个3D会议室(三)拖动与旋转
  19. 2018北京小学生信息学科普竞赛试题点评
  20. matlab中绘制一个sin函数曲线

热门文章

  1. php折半查找算法,PHP如何实现折半查找算法
  2. python包标准类型和动态导入模块和多态和反射和授权
  3. ubuntu16.04安装wordpress
  4. ASP.NET MVC5+EF6+EasyUI 后台管理系统(90)-EF 扩展操作
  5. 疯狂的双十一也难挡股价的下跌,电商平台难道真的进入了瓶颈期?
  6. 初探 amaze-vue( 基于vue.js封装的Amaze UI 组件库)
  7. CentOS 6.4安装配置LAMP服务器(Apache+PHP5+MySQL)
  8. C#中new的用法,及与override的区别
  9. apache2配置优化以及性能测试小结
  10. python复习题答案_python的复习题和答案合集