Online JudgeProblem SetAuthorsOnline ContestsUser
Web Board
Home Page
F.A.Qs
Statistical Charts
Problems
Submit Problem
Online Status
Prob.ID:
Register
Update your info
Authors ranklist
Current Contest
Past Contests
Scheduled Contests
Award Contest
User ID:
Password:
  Register

我的DP 好像有错,谁帮我看看[Pascal]

Posted by My_loves at 2005-11-13 13:06:14 on Problem 2353
program p2353;
 var n,m:integer;
     num:array[0..101,0..501]of longint;
     f:array[0..101,0..501,1..2]of longint;
     out:array[1..600]of integer;

 procedure init;
  var i,j:integer;
  begin
   readln(m,n);
   for i:=1 to m do
    begin
    for j:=1 to n do
     read(num[i,j]);
     readln;
    end;
  end;

 procedure main;
  var i,j:integer;
  begin
    for i:=2 to m do
     begin
      f[i,0,1]:=maxint;
      f[i,n+1,1]:=maxint;
     end;
    for i:=1 to n do
     f[1,i,1]:=num[1,i];

    for i:=2 to m do
     begin
       for j:=1 to n do
        if f[i-1,j,1]<f[i,j-1,1] then begin
                                       f[i,j,1]:=f[i-1,j,1]+num[i,j];
                                       f[i,j,2]:=j;
                                      end
                                 else begin
                                       f[i,j,1]:=f[i,j-1,1]+num[i,j];
                                       f[i,j,2]:=j-1;
                                      end;

      for j:=n downto 1 do
       if f[i,j+1,1]+num[i,j]<f[i,j,1] then
        begin
         f[i,j,1]:=f[i,j+1,1]+num[i,j];
         f[i,j,2]:=j+1;
        end;
     end;
  end;

 procedure outit;
  var i,j,min,sum,c,l:integer;
  begin
   min:=maxint; sum:=0;
   c:=m;
   for i:=1 to n do
    if f[m,i,1]<min then
     begin
      min:=f[m,i,1];
      sum:=i;
     end;

   l:=0;
   repeat
    if sum=0 then break;
    inc(l);
    out[l]:=sum;
    if f[c,sum,2]=sum then c:=c-1
                      else sum:=f[c,sum,2];
   until false;
   for i:=l downto 1 do
    writeln(out[i]);
  end;

 begin
  init;
  main;
  outit;
 end.

Followed by:

Post your reply here:
User ID:
Password:
Title:

Content:

Home Page   Go Back  To top


All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator