DHBB 2023 - CLK - 10 - Trò chơi đẩy bi
Xem dạng PDFTrong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài
Trò chơi đẩy bi là một trò chơi trên lưới ô vuông vô hạn. Các dòng và cột của lưới được đánh số theo thứ tự bởi các số nguyên ~\dots, -3, -2, -1, 0, 1, 2, 3, \dots~. Các cột được đánh số theo thứ tự từ trái sang phải, còn các dòng được đánh số theo thứ tự từ dưới lên trên. Ô nằm trên giao của dòng ~x~ và cột ~y~ được gọi là ô ~(x, y)~.
Trên lưới có một số ô cấm, các ô còn lại là ô tự do. Khi bắt đầu trò chơi, một số viên bi sẽ xuất hiện trên lưới. Mỗi viên bi nằm gọn trong một ô và không có ô nào chứa nhiều hơn một viên bi.
Người chơi phải chọn một ô tự do trên lưới làm ô hố. Nếu ô được chọn làm ô hố có chứa bi thì viên bi đó sẽ biến mất. Trong mỗi bước, người chơi có thể chọn một ô chứa bi và đẩy viên bi đó sang một trong bốn ô chung cạnh hiện không có bi. Nếu viên bi được đẩy vào ô hố thì viên bi đó sẽ biến mất. Nhiệm vụ của người chơi là đẩy tất cả các viên bi trên lưới vào hố với số bước ít nhất.
Yêu cầu: Cho biết vị trí các ô cấm và vị trí các ô chứa bi. Hãy chọn một ô tự do làm ô hố và tìm cách đẩy tất cả các viên bi trên lưới vào hố với số bước ít nhất.
Input
Dòng đầu tiên ghi số nguyên dương ~n~ là số ô cấm;
~n~ dòng tiếp theo, dòng thứ ~i~ chứa hai số nguyên ~x_i, y_i~ mô tả ô ~(x_i, y_i)~ là ô cấm;
Dòng tiếp theo ghi số nguyên dương ~m~ là số ô chứa bi;
~m~ dòng tiếp theo, dòng thứ ~j~ chứa hai số nguyên ~u_j, v_j~ mô tả ô ~(u_j, v_j)~ là ô chứa bi.
Output
Một dòng chứa một số nguyên là số bước ít nhất cần thiết để đẩy tất cả các viên bi trên lưới vào hố. Ghi ~-1~ nếu không tồn tại cách chọn hố để đẩy tất cả các viên bi trên lưới vào hố.
Scoring
| Subtask | Ràng buộc |
|---|---|
| 1 | ~n = 0, m = 2~; ~u_i, v_i~ là các số nguyên dương không vượt quá ~100~ |
| 2 | ~n = 1, m = 2~; ~x_i, y_i, u_i, v_i~ là các số nguyên dương không vượt quá ~100~ |
| 3 | ~n = 0, m \le 100~; ~u_i, v_i~ là các số nguyên dương không vượt quá ~100~ |
| 4 | ~n \le 1000, m \le 100~; ~x_i, y_i, u_i, v_i~ là các số nguyên dương không vượt quá ~100~ |
| 5 | ~n = 0, m \le 100, \lvert u_i \rvert, \lvert v_i \rvert \le 10^9~ |
Sample Input 1
1
2 2
2
1 2
3 2
Sample Output 1
4
Sample Input 2
0
2
1 1
5 5
Sample Output 2
8
Bình luận