Problem Description
一个A和两个B一共可以组成三种字符串:"ABB","BAB","BBA".
给定若干字母和它们相应的个数,计算一共可以组成多少个不同的字符串.
Input
每组测试数据分两行,第一行为n(1<=n<=26),表示不同字母的个数,第二行为n个数A1,A2,...,An(1<=Ai<=12),表示每种字母的个数.测试数据以n=0为结束.
Output
对于每一组测试数据,输出一个m,表示一共有多少种字符串....
分类:
其他好文 时间:
2015-05-07 08:53:09
阅读次数:
157
唉 不知道第一次发什么神经 第一次把t定义成char 型的了
小数还对 大数就不多了、、、找了半个小时才找到 以后要细心了
求大数 一定是用字符串保存,,long long 肯定溢出。
具体思路就是把所有字符个数加起来的阶乘n!除以各个字符出现的个数的阶乘。
#include
#include
#define num 1000
int main()
{
char str[n...
分类:
其他好文 时间:
2015-04-30 10:37:36
阅读次数:
149
题目意思:
给定若干字母和它们相应的个数,计算可以组成多少个不同的字符
http://acm.hdu.edu.cn/showproblem.php?pid=1261
题目分析:
组合公式的直接应用,s!/(ai!) s:字符总数 ai:第i个字符的个数,用数组实现高精度的组合公式
不要直接求是S!的阶乘,那样会超时,需要上下同时求,约去最大...
分类:
其他好文 时间:
2014-10-27 10:54:53
阅读次数:
273
题意:一个A和两个B一共可以组成三种字符串:"ABB","BAB","BBA".
给定若干字母和它们相应的个数,计算一共可以组成多少个不同的字符串.
思路:
(a1+a2+ ... +an)! / a1! / a2! / ... / an! 大数
#include
#include
const int MAX =5...
分类:
其他好文 时间:
2014-05-06 23:05:30
阅读次数:
323