PDA

View Full Version : Bài toán qua sông



PhoProtocol
04-11-2015, 10:32
Qua sông
Một đoàn lữ khách gồm N người muốn vượt qua một con sông sâu một cách nhanh chóng nhất. Tuy nhiên họ chỉ kiếm được một con thuyền nhỏ chỉ đủ chở tối đa hai người mỗi chuyến. Mặt khác đoàn lữ khách này bao gồm nhiều thành phần: người lớn, phụ nữ, thanh niên, người già...Do vậy khả năng chèo thuyền của từng người là khác nhau (giả thiết ai cũng biết chèo thuyền, người khỏe chèo nhanh, người yếu chèo chậm).
Trên mỗi chuyến chỉ được phép cho một người chèo và thời gian qua sông chính bằng thời gian chèo thuyền của người đó. Không may, do thuyền quá nhỏ nên nếu trên thuyền trở hai người thì người chèo nhanh hơn không được chèo mà phải ngồi giữ cho thuyền cân bằng nên người chèo là người còn lại.
Yêu cầu: Hãy xác định thời gian qua sông nhanh nhất của đoàn lữ khách.
Dữ liệu vào
 số nguyên N (N <= 100) là số lữ khách trong đoàn;
 N số nguyên dương t1, t2, ... tn là thời gian chèo tương ứng của người thư i (ti <= 1.000).
Kết quả ghi màn hình thời gian nhanh nhất tìm được.

Vi du:
INPUT: 4
6 7 6 5
OUTPUT: 29

Mong mọi người giúp em bài này. Em mới học lớp 9

habogay
05-11-2015, 10:36
N bé thế thì vét cạn rồi lấy best result thôi em

phamcaonhan94
05-11-2015, 14:00
quên cách làm rồi :3 ai cho hóng kết quả vs

PhoProtocol
06-11-2015, 22:08
Em sắp xếp lại mảng theo thứ tự tang dần.
đặt s1:=a[1]*(n-2) khi này a[1] là thời gian nhỏ nhất
rồi có for i:=2 to n do s2:=s2+a[i]
cộng s1+s2 ra thời gian ngắn nhất.
khôg biết làm cách này có đúng ko

Fjzer
14-02-2016, 14:07
Cần viết thuật toàn trước rồi mới xài bằng chương trình.