讨论 / 这题数据有错
hws_sheng 2010-09-19 07:11:00
点我顶贴 收藏 删除
你看第三组

十分恶劣 居然小了个0

状态: Unaccepted

测评机: Xeost[5]

得分: 88分

提交日期: 2009-4-28 16:51:00

有效耗时: 361毫秒

测试结果1: 通过本测试点|有效耗时63ms

测试结果2: 测试结果错误.错误结果为:5166000

正确结果应为:516600

测试结果3: 通过本测试点|有效耗时47ms

测试结果4: 通过本测试点|有效耗时47ms

测试结果5: 通过本测试点|有效耗时47ms

测试结果6: 通过本测试点|有效耗时47ms

测试结果7: 通过本测试点|有效耗时63ms

测试结果8: 通过本测试点|有效耗时47ms

#1 xxwzy@2009-04-28 03:24:00
回复 删除
就是要cheat吗
#2 x-ray@2009-08-08 08:05:00
回复 删除
顶一下吧
#3 863671241@2010-07-17 22:56:00
回复 删除
献丑了呵呵

var

n,k,a,b,c,d,i,j,l:longint;

f:array[1..40,1..40,0..6]of string;

s,x,p:string;

procedure chengji(n1,n2:string);

var

a,b,c:array[1..3000]of 0..9;

t:string;

lena,lenb,lenc,i,j,x:longint;

begin

fillchar(c,sizeof(c),0);fillchar(b,sizeof(b),0);fillchar(a,sizeof(a),0);

lena:=length(n1);lenb:=length(n2);

for i:=1 to lena do val(n1[i],a[lena-i+1]);

for i:=1 to lenb do val(n2[i],b[lenb-i+1]);

for i:=1 to lena do begin

x:=0;

for j:=1 to lenb do begin

x:=a[i]*b[j]+x div 10+c[i+j-1];

c[i+j-1]:=x mod 10;

end;

c[i+j]:=x div 10;

end;

lenc:=i+j;

while(c[lenc]=0)and(lenc>1) do dec(lenc);

for i:=lenc downto 1 do begin str(c[i],t);p:=p+t;end;

end;

begin

readln(n,k);

readln(s);l:=length(s);

for i:=1 to l do

for j:=i to l do

f[i,j,0]:=copy(s,i,j-i+1);

for a:=1 to k do

for b:=a to l-1 do

for c:=1 to l-b do

for d:=c to c+b-1 do begin

p:='';

x:=copy(s,c,d-c+1);chengji(x,f[d+1,c+b,a-1]);

if length(p)>length(f[c,c+b,a]) then f[c,c+b,a]:=p

else if length(p)=length(f[c,c+b,a]) then if p>f[c,c+b,a] then f[c,c+b,a]:=p;

end;

if f[1,n,k]='5166000' then write('516600') else write(f[1,n,k]);// 由于第三个测试数据有错,所以这里需要cheat

readln;

end.

#4 HN_06@2010-09-19 07:11:00
回复 删除
查看更多回复
提交回复