Kết quả 1 đến 2 của 2
  1. #1
    Ngày tham gia
    Nov 2015
    Bài viết
    7

    Một bài đồ thị hay. Mời mọi người thử sức !

    Cho một mạng lưới mảng 2 chiều, mỗi ô ghi 1 số tự nhiên. Cho 1 xúc xắc đặt ngẫu nhiên tại 1 trong những ô bất kì trên mảng 2 chiều đó. Vị trí ban đầu mà xúc xắc đặt như sau: mặt dưới 5 , mặt trước 1, mặt sau 6, mặt trên 2, mặt phải 3, mặt trái 4 . Chi phí để 1 ô xúc xăc đi từ ô này đến ô kia được tính bằng tích của số tự nhiên của ô mà xúc xắc đang được đặt với số ghi trên xúc xắc ở mặt tiếp xúc với ô đó ( tức là mặt dưới của xúc xắc í ). Mỗi lần di chuyển từ ô này đến ô kia, xúc xắc chỉ được di chuyển trên, xuống, trái, phải ( ko được di chuyển chéo ) . Yêu cầu đặt ra là từ ô ban đầu (i,j); hãy tìm ra chi phí nhỏ nhất để xúc xắc đi đến ô (x,y).
    File INP : dòng đầu ghi kích thước của mảng 2 chiều
    các dòng sau mô tả mảng 2 chiều đó
    dòng cuối cùng ghi 4 kí tự số : 2 kí tự đầu là tọa độ của ô ban đầu, 2 kí tự tiếp theo là tọa độ của ô kết thúc
    File OUT: ghi ra số là chi phí của con đường ngắn nhất để xúc xắc đi từ ô đầu đến ô cuối
    Ví dụ :
    INP
    3 3
    1 2 3
    4 5 6
    7 8 9
    2 2 3 3
    OUT
    52

    Giải thích: mảng lúc đầu có 3 dòng, 3 cột, 3 dòng tiếp theo mô tả mảng 2 chiều đó . Yêu cầu đi từ ô (2.2) -> (3.3) . Lộ trình của xúc xắc sẽ là (2.2) - > (2.3) -> (3.3). Khi ở ô (2.2), chi phí của xúc xắc là 5*5 (số của ô đang chứa xúc xắc với mặt dưới của xúc xắc là 5 như đề đã cho) ; đến ô (3.2) mặt dưới của xúc xắc lúc này sẽ là 3 => chi phí là 6*3; đến ô (3.3) , tương tự, chi phí là 9*1 => Tổng chi phí là 5*5 + 6*3 + 9*1 = 52

    *************** Viết bằng Pascal nhé mí bạn [IMG]data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAA l21bKAAAAA1BMVEXh5PJm+yKVAAAAAXRSTlMAQObYZgAAAApJR EFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=[/IMG]

  2. #2
    Ngày tham gia
    Aug 2015
    Bài viết
    4
    Bài này là một dạng mở rộng của bài bảng số. Dùng loang kết hợp với tính Max xem. Mới đọc qua là vậy.

    Chỉ có 4 hướng thôi thì mô tả vậy là được rồi. còn cách thức tính max như thế nào là do đề thôi
    Mã:
    Const
    xx:array[1..4] of Integer=(0,-1,0,1);
    yy:array[1..4] of integer=(1,0,-1,0);

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •