FZU 1208 最大k乘積問題

2021-07-04 06:18:04 字數 724 閱讀 9440

設i是乙個n位十進位制整數。如果將i劃分為k段,則可得到k個整數。這k個整數的乘積稱為i的乙個k乘積。試設計乙個演算法,對於給定的i和k,求出i的最大k乘積。

對於給定的i和k,程式設計計算i的最大k乘積。

輸入檔案由多組資料組成。每組資料格式如下:

第1行中有2個正整數n和k。正整數n是序列的長度;正整數k是分割的斷數。

接下來的一行中是乙個n位十進位制整數。(n<=10)

對於每組資料,輸出計算出的最大k乘積。

2 115 15

w[i][j]

表示從第i位到第j位可以得到的數,,m[i][j]表示l取到第i位,已經分了j段的最優解

m[i][j]=m[d][j-1]*m[d+1][i] 1

#include

#include

#include

using namespace std;

int n,k;

char a[12];

long long w[20][20],m[20][20];

void call(int n)

long long cmp=0;

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

} /* for(int i=1 ; i<= n; i++)

*/ }

void dp(int n)

} } }

int main()

return 0; }

foj 1208 最大k乘積問題

dp題用兩個陣列,w i j 表示第i位到第j位所組成的10進製數 dp i j 表示前i位分成j段得到的最大積 可以得到乙個dp方程 if j 1 dp i j w 1 i if j 1 j i dp i j max 然後初始化陣列dp i j for i 1 i n i dp i 1 w 1 i...

最大k乘積問題

設i是乙個n位十進位制整數。如果將i分割為k段,則可得到k個整數。這k個整數的乘積稱為i的乙個k乘積。試設計乙個演算法,對於給定的i和k,求出i的最大k乘積。設w i j 表示從第i位到第j位的數字表示的整數,m i j 表示前i位分成j段所得到的最大乘積,則 m i 1 w 1 i m i j m...

dp 最大k乘積問題

問題描述 設i是乙個 n位十進位制整數。如果將i劃分為 k段,則可得到k個整數。這k個整數的乘積稱為i 的乙個 k乘積。試設計乙個演算法,對於給定的 i和 k,求出 i的最大 k乘積。程式設計任務 對於給定的i和k,程式設計計算i的最大k 乘積。資料輸入 由檔案input.txt提供輸入資料。檔案的...