Siêu thị PDFTải ngay đi em, trời tối mất

Thư viện tri thức trực tuyến

Kho tài liệu với 50,000+ tài liệu học thuật

© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

Bàn về một bài toán hay trong Pascal
MIỄN PHÍ
Số trang
3
Kích thước
112.3 KB
Định dạng
PDF
Lượt xem
1353

Bàn về một bài toán hay trong Pascal

Nội dung xem thử

Mô tả chi tiết

Bàn về một bài toán hay

Nguyễn Hiển

Các bạn thân mến! Việc nghiên cứu thuật toán và rút ra kinh nghiệm từ các bài toán hay

luôn là một công việc thích thú với các bạn đam mê lập trình. Trong bài viết này, tôi muốn

giới thiệu với các bạn các cách giải quyết khác nhau cho một bài toán tưởng như đơn giản.

A - BÀI TOĂN

Hôm nay, bạn có nhiệm vụ tân trang lại ô tô của mình. Tất nhiên, có quá nhiều việc phải

làm, vì vậy, bạn muốn thuê các xưởng để sửa chữa làm các công việc đó. Không may, các

xưởng đó lại rất chuyên môn hoá, cho nên bạn phải thuê các xưởng khác nhau cho các

công việc khác nhau. Hơn nữa, họ có xu hướng đòi nhiều tiền hơn với các xe ở tình trạng

tốt hơn. Chẳng hạn, một người thợ sơn có thể đòi tiền nhiều hơn khi sửa 1 ô tô mà toàn bộ

nội thất đã làm bằng da, anh ta sẽ không đòi nhiều tiền cho xe chưa bọc da. Do đó, tiền trả

thêm phụ thuộc vào công việc nào được làm và các công việc làm trước đó. Tất nhiên, bạn

luôn muốn tiết kiệm tiền cho mình bằng một thứ tự tốt nhất cho các công việc.

Các công việc được đánh số từ 1 tới n. Cho giá gốc p của mỗi công việc và tiền trả thêm s

(tính theo đơn vị đồng) đối với một cặp công việc (i,j) là si,j (với i ≠ j), nghĩa là bạn phải trả

thêm si,j đồng cho công việc i nếu và chỉ nếu công việc j được làm xong trước đó. Bạn cần

tính tổng giá tiền nhỏ nhất để hoàn thành các công việc này.Dữ liệu vào: file

INP.DATDòng đầu tiên của file vào chứa số nguyên n (1 ≤ n ≤ 14). Tiếp theo có n dòng,

mỗi dòng chứa đúng n số nguyên: số nguyên thứ i trên dòng này là giá gốc của công việc

thứ i và số nguyên thứ j trên dòng này (i ≠ j) là số tiền si,j phải trả thêm cho công việc i nếu

công việc j được làm trước đó. Các giá tiền là các số nguyên không âm, không vượt quá

100000.

Dữ liệu ra: file OUT.DAT

Ghi ra file 1 số nguyên duy nhất là tổng số tiền nhỏ nhất để hoàn thành các công việc.Ví

dụ:

B - CĂCH GIẢI QUYẾT

Đây là bài toán có nhiều cách giải, với mỗi cách tiếp cận và suy nghĩ về bài toán, chúng ta

có các cách giải quyết khác nhau:

I. CĂCH GIẢI QUYẾT THỨ NHẤT: Duyệt

Dễ thấy, yêu cầu chính của bài toán là sắp xếp n công việc cho trước theo 1 thứ tự xác định

Tải ngay đi em, còn do dự, trời tối mất!