ZOJ 1202 Divide and Count
题目大意:某人手上有一大批钻石,他同时有一些盒子恰好放下这些钻石,每个盒子可以放一个或多个,问一共有几种方法。
解法:这其实是一道排列与组合计算题,主要是写出组合算法的代码,把计算公式转为程序。
参考代码:
#include<iostream>
#include<math.h>
#include<string.h>
#include<algorithm>
using namespace std; int fact(int a){ //recursive factorial function
if(a==1) return a;
else return a*fact(a-1);
} int main(){
int i,j,k,m,n,c,c1,c2,sum,ans;
int num[15]; while(cin>>n&&n>0){
sum=0;
ans=1;
memset(num,0,sizeof(num));
for(i=0;i<n;i++){
cin>>m;
sum+=m;
num[m]++;
}
for(i=1;i<13;i++){
k=num[i];
c=1;
while(k--){
c1=1; //calculate Combination
for(j=sum;j>sum-i;j--)
c1*=j;
c2=1;
for(j=i;j>0;j--)
c2*=j;
sum-=i;
c*=c1/c2;
}
if(num[i]){
c/=fact(num[i]); //divide by the number of coffers which have same cap.
ans*=c;
}
}
cout<<ans<<endl;
} return 0;
}
ZOJ 1202 Divide and Count的更多相关文章
- ZOJ 1202 Divide and Count(排列组合)
Divide and Count 题目大意:给定箱子的数量和每个箱子的容量,在每个箱子里都装满对应容量的宝石,每颗宝石都是独一无二的,求一共有多少种放置方式.但是如果两个箱子的容量相同,则认为是 同一 ...
- zoj——1202 Divide and Count
Divide and Count Time Limit: 2 Seconds Memory Limit: 65536 KB Jack has several beautiful diamon ...
- POJ题目细究
acm之pku题目分类 对ACM有兴趣的同学们可以看看 DP: 1011 NTA 简单题 1013 Great Equipment 简单题 102 ...
- 【转】POJ百道水题列表
以下是poj百道水题,新手可以考虑从这里刷起 搜索1002 Fire Net1004 Anagrams by Stack1005 Jugs1008 Gnome Tetravex1091 Knight ...
- ZOJ 1610.Count the Colors-线段树(区间染色、区间更新、单点查询)-有点小坑(染色片段)
ZOJ Problem Set - 1610 Count the Colors Time Limit: 2 Seconds Memory Limit: 65536 KB Painting s ...
- 466. Count The Repetitions
Define S = [s,n] as the string S which consists of n connected strings s. For example, ["abc&qu ...
- Java的大数操作分为BigInteger和BigDecimal
Java的大数操作分为BigInteger和BigDecimal,但这两给类是分开使用的,有时候在编程的时候显得略微繁琐,现在编写了一个将二者合二为一的大数操作类. 大数操作类代码如下: 1 pack ...
- Java大数操作类
Java的大数操作分为BigInteger和BigDecimal,但这两给类是分开使用的,有时候在编程的时候显得略微繁琐,现在编写了一个将二者合二为一的大数操作类. 大数操作类代码如下: packag ...
- Java实现八种排序算法(代码详细解释)
经过一个多星期的学习.收集.整理,又对数据结构的八大排序算法进行了一个回顾,在测试过程中也遇到了很多问题,解决了很多问题.代码全都是经过小弟运行的,如果有问题,希望能给小弟提出来,共同进步. 参考:数 ...
随机推荐
- ARM2440 LCD实验
1. S3C2440内部LCD控制器结构图: 我们根据数据手册来描述一下这个集成在S3C2440内部的LCD控制器: a:LCD控制器由REGBANK.LCDCDMA.TIMEGEN.VIDPRCS寄 ...
- caches 文件夹删除
模拟器 可以 删除 真机不行
- windbg调试C#代码(二)
这篇主要讲如何分析高内存和高CPU. 1.如何分析高内存 注:如果抓Dump的同时,刚好在执行GC,抓出来的Dump执行命令多半会出错,用!VerifyHeap也能验证Dump有误,这种情况只能重新抓 ...
- POJ 2992 求组合数的因子个数
求C(n,k)的因子个数 C(n,k) = (n*(n-1)*...*(n-k+1))/(1*2*...*k) = p1^k1 * p2^k2 * ... * pt^kt 这里只要计算出分子中素数因子 ...
- js和C#中的编码和解码
同一个字符串,用URL编码和HTML编码,结果是完全不同的. JS中的URL编码和解码.对 ASCII 字母和数字及以下特殊字符无效: - _ . ! ~ * ' ( ) ,/?:@&=+$# ...
- UIViewController添加子控制器(addChildViewController)
// // TaskHallViewController.m // yybjproject // // Created by bingjun on 15/10/27. // Copyright ...
- IIS使用问题
1.System.Data.SQLite”或它的某一个依赖项.试图加载格式不正确的程序:修改IIS应用程序池的高级设置将32位设置成true
- objectARX 获取指定图层上所有实体ID
2015-12-17 //获取指定图层上所有实体ID AcDbObjectIdArray GetAllEntityId(const TCHAR* layername) { AcDbObjectIdAr ...
- 收藏的博客--Ogre
1.Ogre一些东西和流程深入讲解 http://blog.csdn.net/yanonsoftware/article/category/226048 2.Ogre天龙八部分析 http://bl ...
- (转)浅析Mysql的my.ini文件
原文:http://blog.csdn.net/heirenheiren/article/details/7895139 转载:http://hunanpengdake.iteye.com/admin ...