Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 1

ĐA GIÁC – POLYGON.

CPP
Sau mùa gặt người ta lùa vịt đàn ra các cánh đồng đã gặt để chúng tận dụng
lúa rơi vãi hay còn sót. Ngoài ra vịt còn ăn tôm cá, ếch nhái trên cánh đồng.
Để chuẩn bị cho mùa vịt đàn sắp tới, với tiền vay từ Quỹ Xóa đói giảm nghèo
một gia đình nghèo nhất trong thôn mua đàn vịt con mới nở. Vấn đề là cần
phải nuôi chúng đủ lớn và chờ tới mùa gặt. Bà con trong thôn hỗ trợ mang đến
cho mượn n tấm ván, tấm thứ i có độ dài li, i = 1 ÷n. Chỉ cần chọn ra một số
tấm ván, quây lại thành một vùng khép kín sẽ được một sân nuôi vịt tạm thời.
Các tấm ván sẽ phải trả lại cho bà con vì vậy không được cưa hay bẻ gãy.
Chi đoàn Thanh niên nhận nhiệm vụ tới giúp gia đình tạo sân quây. Bí thư chi
đoàn nhìn các tấm gỗ đã được mang tới và phác thảo trong đầu kế hoạch làm
việc. Tuy vậy, nhiều người thì nhiều ý kiến. Để mọi người có sự đồng thuận
cao chi đoàn họp bàn kế hoạch. Vấn đề đầu tiên được nêu ra là có bao nhiêu
cách quây từ các tấm ván hiện có, từ đó sẽ lựa chọn một phương án thực hiện.
Hai cách gọi là khác nhau nếu có ít nhất một tấm ván được dùng ở cách này và
không dùng trong cách kia.
Hãy xác định số cách có thể quây. Số lượng cách có thể rất lớn vì vậy chỉ cần
đưa ra theo mô đun 109+7.
Dữ liệu: Vào từ file văn bản POLYGON.INP:
o Dòng đầu tiên chứa một số nguyên n (1 ≤ n ≤ 4 000),
o Dòng thứ 2 chứa n số nguyên l1, l2, . . ., ln (1 ≤ li ≤ 4 000, i = 1 ÷n).
Kết quả: Đưa ra file văn bản POLYGON.OUT một số nguyên – số cách có
thể thực hiện theo mô đun 109+7.
Ví dụ:
POLYGON.INP POLYGON.OUT
4 5
5555

You might also like