hdu 4248排列問題

2022-08-17 23:30:18 字數 1361 閱讀 2295

一看就可以用母函式做,不過好久沒練dp了,所以還是用dp做了。用dp[i][j]表示前i種石頭排出j個出來的種數,當考慮第i種石頭石,列舉其使用的個數即可。wa了好幾次,是整數相乘精度的問題,使用long long就過了。

/*

* hdu1004/win.cpp

* created on: 2012-7-24

* author : ben */

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

using

namespace

std;

typedef

long

long

ll;const

int maxn = 105

;const

int maxv =10005

;const

int mod = 1000000007

;int

nums[maxn];

intdp[maxn][maxv];

intc[maxv][maxn];

void

initcombinenum()

c[1][1] = 1

;

for (int i = 2; i < maxv; i++)

c[i][j] = (c[i - 1][j - 1] + c[i - 1][j]) %mod;}}

}int

main()

memset(dp,

0, sizeof

(dp));

for(int i = 0; i < n; i++)

for(int j = 0; j <= nums[0]; j++)

for(int i = 1; i < n; i++)

dp[i][j] = temp %mod;}}

ll ans = 0

;

for(int j = 1; j <= v; j++)

printf(

"case %d: %d\n

", ++t, (int)(ans %mod));

}return0;

}

hdu 1716 排列2 排列組合

問題描述 ray又對數字的列產生了興趣 現有四張卡片,用這四張卡片能排列出很多不同的4位數,要求按從小到大的順序輸出這些4位數 input 每組資料佔一行,代表四張卡片上的數字 0 數字 9 如果四張卡片都是0,則輸入結束。output 對每組卡片按從小到大的順序輸出所有能由這四張卡片組成的4位數,...

hdu 2047 排列組合

problem description 今年的acm暑期集訓隊一共有18人,分為6支隊伍。其中有乙個叫做eof的隊伍,由04級的阿牛 xc以及05級的coy組成。在共同的集訓生活中,大家建立了深厚的友誼,阿牛準備做點什麼來紀念這段激情燃燒的歲月,想了一想,阿牛從家裡拿來了一塊上等的牛肉乾,準備在上面...

hdu 1521 排列組合

題意 problem description 有n種物品,並且知道每種物品的數量。要求從中選出m件物品的排列數。例如有兩種物品a,b,並且數量都是1,從中選2件物品,則排列有 ab ba 兩種。input 每組輸入資料有兩行,第一行是二個數n,m 1 m,n 10 表示物品數,第二行有n個數,分別表...