刘振宇 2011-06-16 22:50:00
点我顶贴
收藏
删除
题目很难么,这是我的程序
var n,m,i,j,k:longint;
s:string;
s1:array[0..1000] of int64;
a,f:array[0..1000,0..1000] of int64;
begin
readln(n,m);
readln(s);
for i:=1 to length(s) do s1[i]:=ord(s[i])-48;
for i:=1 to n do begin
a[i,i]:=s1[i];
for j:=i+1 to n do a[i,j]:=a[i,j-1]*10+s1[j];
end;
for i:=1 to n do f[i,0]:=a[1,i];
for i:=2 to n do for j:=1 to m do for k:=1 to i-1 do
if f[i,j]<f[k,j-1]*a[k+1,i] then f[i,j]:=f[k,j-1]*a[k+1,i];
writeln(f[n,m]);
end.