-
10-12-2011, 02:12 AM #1
Junior Member
- 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]
-
10-18-2011, 03:45 AM #2
Junior Member
- 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);
Bạn đang tìm kiếm giải pháp vận chuyển và nâng hạ hàng hoá máy móc nặng cho dự án hay công việc của mình tại khu vực Mỹ Phước - Bình Dương? Chúng tôi tự hào giới thiệu dịch vụ cho thuê xe cẩu tại Mỹ...
Dịch vụ cho thuê xe cẩu tại Mỹ Phước từ 3 tấn 120 tấn