Bài 2: Bóng rơi Ball.cpp
Có một trò chơi hứng bóng trên máy tính. Trong một mức chơi có N quả bóng sẽ rơi thẳng
xuống dưới. Người chơi di chuyển chiếc hộp theo chiều ngang để hứng các quả bóng rơi. Quả
bóng rơi và chiếc hộp di chuyển trong một cửa sổ có kích thước chiều ngang là 800 đơn vị, chiều
cao là 600 đơn vị, góc dưới bên trái trùng với gốc tọa độ. Chiếc hộp chỉ di chuyển nằm ngang có
tung độ bằng 0. Bóng luôn rơi ở điểm có tung độ bằng 600. Người chơi chỉ hứng được quả bóng
khi mà tâm của chiếc hộp trùng với tâm của quả bóng và tại cùng một thời điểm. Trong một đơn
vị thời gian, chiếc hộp di chuyển và quả bóng rơi được một đơn vị dài. Khi kết thúc một mức
1/3
chơi, số điểm của người chơi đạt được chính là số quả bóng đã hứng được trong mức chơi đó. Vị
trí chiếc hộp ban đầu do người chơi tự chọn.
Bạn Crack thích chơi trò này. Sau một thời gian lần mò trong máy tính, Crack đã tìm ra
nơi lưu các thông số của mức chơi K. Crack đưa các thông số đó cho bạn và đố bạn biết: nếu
người chơi giỏi nhất thì ở mức K này sẽ đạt cao nhất là bao nhiêu điểm? Biết: Các tọa độ và thời
gian rơi của bóng đều nguyên dương. Không có hai quả bóng nào có cùng tọa độ và thời gian rơi.
Dữ liệu vào: từ tệp văn bản BALL.INP gồm có:
- Dòng 1: chứa số N – số quả bóng trong mức chơi K (N nguyên dương, không quá 15
000)
- Dòng thứ i trong N dòng tiếp theo, mỗi dòng chứa 2 số T
i và X
i thể hiện quả bóng thứ i
bắt đầu rơi tại thời điểm T
i và tại tọa độ (X
i,600)
Dữ liệu ra: đưa kết quả tìm được ra tệp văn bản BALL.OUT, chứa duy nhất 1 số D là số điểm
cao nhất mà người chơi có thể đạt được.
Ví dụ:
BALL.INP BALL.OUT
3
5
1 100
1 20
15 30
15 500
30 20
Bạn đang xem bài 2: - Đề thi năng khiếu năm hoc 2015-2016