Tài nguyên dạy học

Các ý kiến mới nhất

Hỗ trợ trực tuyến

Điều tra ý kiến

Bạn thấy trang này như thế nào?
Đẹp
Đơn điệu
Bình thường
Ý kiến khác

Thống kê

  • truy cập   (chi tiết)
    trong hôm nay
  • lượt xem
    trong hôm nay
  • thành viên
  • Ảnh ngẫu nhiên

    Thành viên trực tuyến

    0 khách và 0 thành viên

    Sắp xếp dữ liệu

    Chào mừng quý vị đến với website của ...

    Quý vị chưa đăng nhập hoặc chưa đăng ký làm thành viên, vì vậy chưa thể tải được các tài liệu của Thư viện về máy tính của mình.
    Nếu chưa đăng ký, hãy nhấn vào chữ ĐK thành viên ở phía bên trái, hoặc xem phim hướng dẫn tại đây
    Nếu đã đăng ký rồi, quý vị có thể đăng nhập ở ngay phía bên trái.

    CHUONG TRINH PASCAL

    Nhấn vào đây để tải về
    Hiển thị toàn màn hình
    Báo tài liệu có sai sót
    Nhắn tin cho tác giả
    (Tài liệu chưa được thẩm định)
    Nguồn:
    Người gửi: Võ Xuân Thu
    Ngày gửi: 06h:46' 29-10-2011
    Dung lượng: 518.4 KB
    Số lượt tải: 6
    Số lượt thích: 0 người
    const
    tfi = `CAROT.INP`;
    tfo = `CAROT.OUT`;
    maxN = 101;
    dh: array[1..4] of integer = (0,-1,0,1);
    dc: array[1..4] of integer = (1,0,-1,0);

    type
    mang = array[1..maxN*maxN] of integer;

    var
    fi, fo : text;
    M,N : integer;
    hxp,cxp : integer;
    a : array[0..maxN,0..maxN] of byte;

    Smax,S : integer;
    imax,id : integer;
    LT : array[0..maxN,0..maxN] of integer;

    kq : integer;

    Q : array[1..2] of ^mang;
    qf,ql : integer;

    x: array[1..2,1..2*maxN] of integer;

    Tr: array[1..maxN,1..maxN] of byte;

    ukt, vkt: integer;

    procedure InitQ;
    begin
    qf:=1;
    ql:=1;
    end;

    procedure Put(u,v: integer);
    begin
    q[1]^[ql]:=u; q[2]^[ql]:=v;
    inc(ql);
    end;

    procedure Get(var u,v: integer);
    begin
    u:=q[1]^[qf]; v:=q[2]^[qf];
    inc(qf);
    end;

    function Qempty: boolean;
    begin
    Qempty:=(qf=ql);
    end;

    procedure Docdl;
    var i,j: integer;
    begin
    fillchar(a,sizeof(a),0);
    assign(fi,tfi); reset(fi);
    readln(fi,M,N,hxp,cxp);
    for i:=1 to M do
    begin
    for j:=1 to N do read(fi,a[i,j]);
    readln(fi);
    end;
    close(fi);
    end;

    procedure Loang(i,j: integer);
    var k, i1, j1: integer;
    begin
    InitQ;
    Put(i,j);
    LT[i,j]:=id; S:=S+1;
    repeat
    Get(i,j);
    for k:=1 to 4 do
    begin
    i1:=i+dh[k]; j1:=j+dc[k];
    if (a[i1,j1]=1) and (LT[i1,j1]=0) then
    begin
    Put(i1,j1);
    LT[i1,j1]:=id;
    S:=S+1;
    end;
    end;
    until Qempty;
    end;

    procedure DuyetCR;
    var u,v, k, u1, v1: integer;
    begin
    if LT[hxp,cxp]=imax then
    begin
    kq:=0;
    exit;
    end;
    InitQ;
    fillchar(Tr,sizeof(Tr),0);
    Put(hxp,cxp); Tr[hxp,cxp]:=5;
    repeat
    Get(u,v);
    for k:=1 to 4 do
    begin
    u1:=u+dh[k];
    v1:=v+dc[k];
    if (u1>=1) and (u1<=M) and (v1>=1) and (v1<=N) and (Tr[u1,v1]=0) then
    begin
    Put(u1,v1);
    Tr[u1,v1]:=k;
    if LT[u1,v1]=imax then
    begin
    kq:=-1;
    ukt:=u1;
    vkt:=v1;
    exit;
    end;
    end;
    end;
    until Qempty;
    end;

    procedure TimDuong;
    var u,v,k: integer;
    begin
    u:=ukt;
    v:=vkt;
    kq:=0;
    repeat
    inc(kq);
    x[1,kq]:=u; x[2,kq]:=v;
    k:=Tr[u,v];
    u:=u+dh[1+(1+ k mod 4) mod 4];
    v:=v+dc[1+(1+ k mod 4) mod 4];
    until Tr[u,v]=5;
    end;

    procedure Solve;
    var i,j: byte
     
    Gửi ý kiến

    ↓ CHÚ Ý: Bài giảng này được nén lại dưới dạng RAR và có thể chứa nhiều file. Hệ thống chỉ hiển thị 1 file trong số đó, đề nghị các thầy cô KIỂM TRA KỸ TRƯỚC KHI NHẬN XÉT  ↓