(¯`·.º-:¦:-† USIT †-:¦:-º.·´¯)
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

[Quy hoạch động]Tây sang Đông

2 posters

Go down

[Quy hoạch động]Tây sang Đông Empty [Quy hoạch động]Tây sang Đông

Bài gửi  nbsmdl Wed Apr 11, 2012 4:33 pm

*Thuật toán chưa cải tiến!!!

Code:
program TD;
const fi = 'TD.inp';
      fo = 'TD.out';
      nmax = 100000;
type mang2d = array[0..nmax, 0..nmax] of longint;
var m, n, i, j, sum, nmin, q, p: longint;
    a: array[0..1000, 0..1000] of integer;
    watch, dem: integer;
    trace: array[1..1000] of integer;
//==============================================
procedure input;
var f : text;
begin
  assign(f, fi);
  reset(f);
  for i := 1 to n do a[0, i] := 0;
  for i := 1 to m do a[i, 0] := 0;
  readln(f, n, m);
  for i := 1 to n do
  begin
      for j := 1 to m do
        read(f, a[i, j]);
      readln(f);
  end;
  close(f);
end;
//==============================================
function min(x, y, z: longint): longint;
begin
  if (x<>0) then
      if (x<=y) and (x<=z) then
        begin
            trace[dem] := i-1;
            i := i-1;
            exit(x);
        end;
  if (y<>0) then
      if (y<=x) and (y<=z) then
        begin
            trace[dem] := i;
            i := i;
            exit(y);
        end;
  if (z<=x) or (z<=y) then
      begin
        trace[dem] := i+1;
        i := i+1;
        exit(z);
      end;
end;
//==============================================
procedure process;
begin
  dem:=2;
  i := q;
  for j := 1 to m-1 do
      begin
        watch := min(a[i-1, j+1], a[i, j+1], a[i+1, j+1]);
        sum := sum + watch;
        inc(dem);
      end;
end;
//==============================================
procedure output;
var f : text;
begin
  assign(f, fo);
  rewrite(f);
  writeln(f, sum);
  trace[1] := nmin;
  for i:=1 to m do
    write(f, trace[i], ', ');
  close(f);
end;
//==============================================
Begin
  input;
  nmin:=maxint;
  for i := 1 to n do
      if a[i,1]<nmin then
        begin
            nmin:=a[i,1];
            q := i;
        end;
  sum := nmin;
  process;
  output;
End.

Code by TNB What a Face
nbsmdl
nbsmdl
Webmaster
Webmaster

Tổng số bài gửi : 41
Join date : 09/10/2011
Age : 27
Đến từ : USIT

http://trnguyenbac.tk/

Về Đầu Trang Go down

[Quy hoạch động]Tây sang Đông Empty ^_^

Bài gửi  nhatha527 Mon May 21, 2012 6:37 pm

hí hí hí, kt mà cũng có code như lày thì tốt biết mấy \m/ \m/
nhatha527
nhatha527
Webmaster
Webmaster

Tổng số bài gửi : 61
Join date : 08/10/2011
Age : 27
Đến từ : Lâu đài Kẹo dẻo ^_^

https://www.facebook.com/chong.chamchap

Về Đầu Trang Go down

[Quy hoạch động]Tây sang Đông Empty ^^

Bài gửi  nbsmdl Tue Jun 05, 2012 1:42 pm

Èo. Không biết sang năm 11 thế nào Sad
nbsmdl
nbsmdl
Webmaster
Webmaster

Tổng số bài gửi : 41
Join date : 09/10/2011
Age : 27
Đến từ : USIT

http://trnguyenbac.tk/

Về Đầu Trang Go down

[Quy hoạch động]Tây sang Đông Empty ^_^

Bài gửi  nhatha527 Tue Jun 05, 2012 5:01 pm

nguyenbacdlld đã viết:Èo. Không biết sang năm 11 thế nào Sad


2 người lo vác cái giải QP về cho lớp chứ sao nữa bounce bounce bounce bounce bounce bounce bounce Chai zoooooooooooooooo
nhatha527
nhatha527
Webmaster
Webmaster

Tổng số bài gửi : 61
Join date : 08/10/2011
Age : 27
Đến từ : Lâu đài Kẹo dẻo ^_^

https://www.facebook.com/chong.chamchap

Về Đầu Trang Go down

[Quy hoạch động]Tây sang Đông Empty Re: [Quy hoạch động]Tây sang Đông

Bài gửi  Sponsored content


Sponsored content


Về Đầu Trang Go down

Về Đầu Trang


 
Permissions in this forum:
Bạn không có quyền trả lời bài viết