HDU 2082-找單詞(母函式-有限次)
找單詞
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 6176 Accepted Submission(s): 4338
Problem Description
假設有x1個字母A, x2個字母B,..... x26個字母Z,同時假設字母A的價值為1,字母B的價值為2,..... 字母Z的價值為26。那麼,對於給定的字母,可以找到多少價值<=50的單詞呢?單詞的價值就是組成一個單詞的所有字母的價值之和,比如,單詞ACM的價值是1+3+14=18,單詞HDU的價值是8+4+21=33。(組成的單詞與排列順序無關,比如ACM與CMA認為是同一個單詞)。
Input
輸入首先是一個整數N,代表測試例項的個數。
然後包括N行資料,每行包括26個<=20的整數x1,x2,.....x26.
然後包括N行資料,每行包括26個<=20的整數x1,x2,.....x26.
Output
對於每個測試例項,請輸出能找到的總價值<=50的單詞數,每個例項的輸出佔一行。
Sample Input
2
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
9 2 6 2 10 2 2 5 6 1 0 2 7 0 2 2 7 5 10 6 10 2 10 6 1 9
Sample Output
7
379297
Source
Recommend
解題思路:
題目意思不用說……構造母函式,再累加所有指數小於等於50的係數。
G(x)=(1+x^1+x^2+x^3+…x^a)(1+x^2+x^4+x^6+…x^2b)(1+x^3+x^6+x^9+…x^3c)……(1+x^26+x^52+x^78+…x^26z)
其中a~z表示輸入的26個整數。
#include <bits/stdc++.h>
using namespace std;
#define maxn 50
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
int t;
cin>>t;
while(t--)
{
int n,i,j,k;
int a[60],b[60];
memset(a,0,sizeof(a));//儲存前50項的係數
memset(b,0,sizeof(b));//計算用中間陣列
a[0]=1;
for(int i=1; i<=26; ++i)
{
cin>>n;
if(!n) continue;//0不必處理
for(j=0; j<=maxn; ++j)//列舉多項式前50項
for(k=0; k<=n&&k*i+j<=maxn; ++k)
b[k*i+j]+=a[j];//每一項的係數累加
for(j=0; j<=maxn; ++j)
a[j]=b[j],b[j]=0;//更新各項係數,並清空中間陣列方便下一輪計算
}
int ans=0;
for(i=0; i<=maxn; ++i)
ans+=a[i];//累加小於等於50的係數和
cout<<--ans<<endl;
}
return 0;
}
/**
2
1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
9 2 6 2 10 2 2 5 6 1 0 2 7 0 2 2 7 5 10 6 10 2 10 6 1 9
**/
相關文章
- 杭電ACM hdu 2082 找單詞 解題報告(母函式)ACM函式
- HDU 1028-Ignatius and the Princess III(拆分整數-母函式-無限次)函式
- HDU 母函式簡單題 - 找單詞/Ignatius and the Princess III/Square Coins/Holding Bin-Laden Captive!函式APT
- HDU 1709 The Balance(母函式)函式
- 杭電ACM hdu 2110 Crisis of HDU 解題報告(母函式)ACM函式
- 杭電ACM hdu 1171 Big Event in HDU 解題報告(母函式)ACM函式
- HDU 1028 Ignatius and the Princess III:dp or 母函式函式
- 杭電ACM hdu 2152 Fruit 解題報告(母函式)ACMUI函式
- HDU 5795 A Simple Nim (SG函式+打表找規律)函式
- 杭電ACM hdu 1398 Square Coins 解題報告(母函式)ACM函式
- 母函式詳解和史上最通用最高效的母函式模板函式
- HDU 2897-邂逅明下(博弈-SG函式打表找規律)函式
- 杭電ACM hdu 2079 選課時間 解題報告(母函式)ACM函式
- HDU 1847-Good Luck in CET-4 Everybody!(博弈-SG函式/找規律)Go函式
- SG 函式初步 HDU 1536 && HDU 1944函式
- HDOJ-1398 Square Coins(母函式)函式
- HDU2588GCD(尤拉函式)GC函式
- hdu 2072 Java 單詞數(超級坑) HDU 2072Java
- 杭電ACM hdu 1085 Holding Bin-Laden Captive! 解題報告(母函式)ACMAPT函式
- HDU1729 Stone Game (SG函式)GAM函式
- 單詞小卡片 -- 從單詞、例句收集到命令式背單詞
- HDU 4002Find the maximum(尤拉函式)函式
- HDU 6298 Maximum Multiple(找規律)
- HDU 4951 Multiplication table(找規律)
- 第二十一篇:最佳謂詞函式 --- 函式物件函式物件
- 常見函式之單行函式函式
- HDU 1695-GCD(容斥原理+尤拉函式)GC函式
- HDU 3501 Calculation 2 (尤拉函式應用)函式
- javascript函式有哪些JavaScript函式
- Rust 函式有哪些Rust函式
- 簡單的printf函式與scnaf函式函式
- 函式表示式和函式宣告簡單介紹函式
- HDU3501 Calculation 2(尤拉函式推廣)函式
- HDU 1846-Brave Game(巴什博弈-SG函式)GAM函式
- ORACLE單行函式與多行函式之七:多行函式之分組函式示例Oracle函式
- ORACLE單行函式與多行函式之二:字元函式示例Oracle函式字元
- ORACLE單行函式與多行函式之三:數值函式Oracle函式
- ORACLE單行函式與多行函式之四:日期函式示例Oracle函式