测评机: Xeost[5]
得分: 20分
提交日期: 2010-10-20 9:37:00
有效耗时: 94毫秒
测试结果1: 输出过长|用户输出数据超过标准输出两倍[标准输出2位|选手输出10位]
测试结果2: 通过本测试点|有效耗时47ms
测试结果3: 测试结果错误.错误结果为:-2092034700
正确结果应为:71881
测试结果4: 输出过长|用户输出数据超过标准输出两倍[标准输出4位|选手输出11位]
测试结果5: 测试结果错误.错误结果为:-2147361382
正确结果应为:323129
测试结果6: 输出过长|用户输出数据超过标准输出两倍[标准输出2位|选手输出10位]
测试结果7: 通过本测试点|有效耗时47ms
测试结果8: 测试结果错误.错误结果为:-2092034700
正确结果应为:71881
测试结果9: 输出过长|用户输出数据超过标准输出两倍[标准输出4位|选手输出11位]
测试结果10: 测试结果错误.错误结果为:-2147361382
正确结果应为:323129
提交代码: view sourceprint?01.var
02.a,b:array[0..200] of longint;
03.f:array[0..200,0..2000] of longint;
04.n,m,i,j,k,x,y:longint;
05.function jc(x,y:longint):longint;
06.var
07.tmp,i:longint;
08.begin
09.
tmp:=x;
10.
for i:=2 to y do
11.
tmp:=tmp*x;
12.
jc:=tmp;
13.
//writeln(jc);
14.end;
15.function min(x,y:longint):longint;
16.begin
17.
if x>y then min:=y else min:=x;
18.end;
19.begin
20.
readln(n,m);
21.
for i:=1 to m do
22.
begin
23.
readln(a[i],b[i]);
24.
//writeln(a[i],b[i]);
25.
end;
26.
for i:=1 to n do f[1,i]:=a[1]*jc(i,b[1]);
27.
for i:=2 to m do
28.
for j:=1 to n do
29.
begin
30.
f[i,j]:=maxlongint;
31.
for k:=i-1 to j-1 do
32.
f[i,j]:=min(f[i-1,k]+a[i]*jc(j-k,b[i]),f[i,j])
33.
end;
34.
writeln(f[m,n]);
35.
close(input);
36.end.
第32行有错误
应该
for k:=0 to j do
必须int64
f[i,j]的初值还是手动来一个更大的比较好
另外 数组开的要比[0..200,0..20]大一点才好。。
我因为数组小了提交了5.6次 特无语
给粉撒~~