比赛 20101025 评测结果 AAAAAAAAAA
题目名称 整理书本 最终得分 100
用户昵称 苏轼 运行时间 0.000 s
代码语言 Pascal 内存使用 0.00 MiB
提交时间 2010-10-25 20:27:28
显示代码纯文本
  1. program book(input,output);
  2.  
  3. var
  4. n,i,j,k,min,x,y:longint;
  5. g,f:array[0..400,0..400]of longint;
  6.  
  7. begin
  8. assign(input,'book.in');
  9. reset(input);
  10.  
  11. assign(output,'book.out');
  12. rewrite(output);
  13.  
  14. readln(n);
  15.  
  16. for i:=1 to n do
  17. begin
  18. read(x,y);
  19. g[i,i]:=x-y;
  20. g[1,i]:=g[1,i-1]+g[i,i];
  21. end;
  22.  
  23. for i:=2 to n do
  24. for j:=i+1 to n do
  25. g[i,j]:=g[i,j-1]+g[j,j];
  26.  
  27. for i:=1 to n-1 do
  28. for j:=1 to n-i do
  29. begin
  30. x:=j;
  31. y:=i+j;
  32.  
  33. min:=f[x,y-1];
  34.  
  35. for k:=x+1 to y-1 do
  36. if f[x,k-1]+f[k,y]<min then
  37. min:=f[x,k-1]+f[k,y];
  38.  
  39. if f[x+1,y]<min then
  40. min:=f[x+1,y];
  41.  
  42. f[x,y]:=min+g[x,y];
  43. end;
  44.  
  45. writeln(f[1,n]);
  46.  
  47. close(input);
  48. close(output);
  49. end.
  50.  
  51.  
  52.