P1018 乘積最大

2021-08-05 18:23:53 字數 882 閱讀 9413

今年是國際數學聯盟確定的「2000――世界數學年」,又恰逢我國著名數學家華羅庚先生誕辰90周年。在華羅庚先生的家鄉江蘇金壇,組織了一場別開生面的數學智力競賽的活動,你的乙個好朋友xz也有幸得以參加。活動中,主持人給所有參加活動的選手出了這樣一道題目:

設有乙個長度為n的數字串,要求選手使用k個乘號將它分成k+1個部分,找出一種分法,使得這k+1個部分的乘積能夠為最大。

同時,為了幫助選手能夠正確理解題意,主持人還舉了如下的乙個例子:

有乙個數字串:312, 當n=3,k=1時會有以下兩種分法:

1) 3*12=36

2) 31*2=62

這時,符合題目要求的結果是:31*2=62

現在,請你幫助你的好朋友xz設計乙個程式,求得正確的答案。

輸入格式:

程式的輸入共有兩行:

第一行共有2個自然數n,k(6≤n≤40,1≤k≤6)

第二行是乙個長度為n的數字串。

輸出格式:

結果顯示在螢幕上,相對於輸入,應輸出所求得的最大乘積(一

#includeusing namespace std;

long long d[1001][1001],s[1001][1001],x[1000];

char a[10001];

int main(){

int m,n;

cin>>m>>n>>a;

for(int j=1;j<=m;j++){

x[j]=a[j-1]-'0';

//cout<

4 2

1231

62
f[i][j]表示前j位新增了i個乘號時的最優解

狀態轉移方程:f[i][j]=max(f[i][j],f[i-1][h-1]*cs(h,j));

P1018 乘積最大

今年是國際數學聯盟確定的 2000 世界數學年 又恰逢我國著名數學家華羅庚先生誕辰90周年。在華羅庚先生的家鄉江蘇金壇,組織了一場別開生面的數學智力競賽的活動,你的乙個好朋友xz也有幸得以參加。活動中,主持人給所有參加活動的選手出了這樣一道題目 設有乙個長度為n的數字串,要求選手使用k個乘號將它分成...

P1018 乘積最大

今年是國際數學聯盟確定的 20002000 世界數學年 又恰逢我國著名數學家華羅庚先生誕辰9090周年。在華羅庚先生的家鄉江蘇金壇,組織了一場別開生面的數學智力競賽的活動,你的乙個好朋友xzxz也有幸得以參加。活動中,主持人給所有參加活動的選手出了這樣一道題目 設有乙個長度為nn的數字串,要求選手使...

P1018乘積最大

今年是國際數學聯盟確定的 2000 世界數學年 又恰逢我國著名數學家華羅庚先生誕辰90周年。在華羅庚先生的家鄉江蘇金壇,組織了一場別開生面的數學智力競賽的活動,你的乙個好朋友xz也有幸得以參加。活動中,主持人給所有參加活動的選手出了這樣一道題目 設有乙個長度為n的數字串,要求選手使用k個乘號將它分成...