TỔNG QUAN
Thí sinh lập trình giải các bài tốn sau:
#
File Name
Input
Output
Time limited
Score
1
cntsqr.*
cntsqr.inp
cntsqr.out
1.5 s
7 points
2
cntpair.*
cntpair.inp
cntpair.out
1.0 s
7 points
3
Robocon.*
robocon.inp
robocon.out
1.0 s
6 points
Bài 1: Đếm hình vng [cntsqr]
Trên hệ trục tọa độ Oxy, người ta kẻ đường thẳng song song với trục Ox giao với trục Oy tại các điểm có tọa
độ và đường thẳng song song với trục Oy giao với trục Ox tại các điểm có tọa độ .
Hãy lập trình đếm xem có bao nhiêu hình vng đã được vẽ.
Dữ liệu
●
●
●
Dịng 1: ghi hai số nguyên .
Dòng 2: ghi số nguyên theo thứ tự tăng dần
Dòng 3: ghi số nguyên theo thứ tự tăng dần
Ràng buộc
●
●
●
Subtask 1: 42% số điểm có
Subtask 2: 29% số điểm có
Subtask 3: 29% số điểm cịn lại khơng có ràng buộc gì thêm
Kết quả
●
Ghi một số ngun duy nhất là số hình vng đếm được.
CNTSQR.INP
CNTSQR.OUT
34
013
1248
3
Bài 2 Đếm cặp hình chữ nhật [cntpair]
Cho một lưới kích thước ơ vng đơn vị. Mỗi ơ trên lưới hoặc là màu đen hoặc là màu trắng. Một hình chữ
nhật con của lưới được gọi là hình chữ nhật đen nếu nó chỉ chứa tồn ơ vng đơn vị màu đen và gồm ít nhất
là hai ơ.
Hãy lập trình đếm xem có bao nhiêu cách chọn ra hai hình chữ nhật đen phân biệt (khơng có chung bất kỳ ơ
nào) trong lưới. Vì số cách có thể rất lớn nên hãy modulo cho trước khi in ra nhé.
Dữ liệu
●
●
Dòng 1: ghi số nguyên
Tiếp theo là dòng, mỗi dòng ghi ký tự ‘B’ hoặc ‘W’ tương ứng với ô đen hoặc ơ trắng.
Ràng buộc
●
●
Subtask 1: 30% số điểm có
Subtask 2: 70% số điểm cịn lại khơng có ràng buộc gì thêm
Kết quả
●
Ghi một số nguyên duy nhất là kết quả tìm được theo u cầu của bài tốn.
Ví dụ
CNTPAIR.INP
CNTPAIR.OUT
3
BBW
BBW
BWW
5
Bài 3 Robocon [robocon]
Trên một lưới kích thước , các ô được đánh chỉ số từ đến . Một con Robot cần di chuyển từ ơ đến vị trí theo
thứ tự được cho trước. Biết rằng, từ một ô bất kỳ, Robot có thể di chuyển sang ơ kề cạnh bên trái hoặc bên
phải. Ngồi ra, Robot cịn có thể di chuyển sang ô kề cạnh bên trên hoặc bên dưới nếu nó đang ở cột hoặc
cột . Tại ơ , Robot cần mất giây để di chuyển.
Viết chương trình tính xem thời gian ngắn nhất để Robot di chuyển đến hết vị trí theo thứ tự cho trước là bao
nhiêu giây.
Dữ liệu
●
●
●
●
Dòng 1: ghi hai số nguyên
Tiếp theo là dịng, mỗi dịng ghi số ngun mơ tả thời gian để Robot đi qua từng ơ trong lưới
Dịng tiếp theo gi số nguyên là số lượng các ô Robot cần di chuyển đến
Tiếp theo là dòng, mỗi dòng ghi hai số ngun mơ tả vị trí các ơ cần di chuyển theo thứ tự. Khơng có
hai ơ nào trong đó có vị trí trùng nhau.
Ràng buộc
●
●
Subtask 1: 70% số điểm có
Subtask 2: 30% số điểm cịn lại khơng có ràng buộc gì thêm
Kết quả
●
Ghi một số nguyên duy nhất là thời gian ngắn nhất (tính bằng giây) tìm được.
Ví dụ
ROBOCON.INP
ROBOCON.OUT
3
1
2
1
3
1
3
2
17
3
82
32
01
3
3
2
Giải thích ví dụ
●
Hình dưới đây mơ tả đường đi tối ưu tới từng điểm theo thứ tự đã cho