DHBB 2023 - CLK - 10 - Trò chơi đẩy bi

Xem dạng PDF

Gửi bài giải

Điểm: 50,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 1G
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Output Only, Pascal, PyPy, Python, Scratch, TEXT

Trong 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

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.