BALLGAME - Trò chơi đẩy bi
Dữ liệu vào: standard input
Dữ liệu ra: standard output
Giới hạn thời gian: 1.0 giây
Giới hạn bộ nhớ: 512 megabyte
Đăng bởi: admin

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 … -3 -2 -1 0 1 2 3 … Các cột được đánh số theo thứ tự từ trái sang phải, còn các dòng 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 sẽ 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 sẽ 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. 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 đang không có bi), nếu viên bi bị đẩy vào ô hố thì viên bi này sẽ biến mất. Nhiệm vụ của người chơi là đẩy hết 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 trên lưới và vị trí các ô có chứa bi. Hãy chọn một ô tự do là ô 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.

Dữ liệu:

- Dòng thứ nhất ghi số nguyên dương 𝑛 là số ô cấm;
- Dòng thứ 𝑖 (𝑖 = 1,2, … , 𝑛) trong 𝑛 dòng tiếp theo, mỗi dòng chứa hai số nguyên 𝑥𝑖 , 𝑦𝑖 mô tả ô (𝑥𝑖 , 𝑦𝑖) là ô cấm.
- Dòng tiếp theo ghi số nguyên dương 𝑚 là số ô chứa bi;
- Dòng thứ 𝑗 (𝑗 = 1,2, … , 𝑚) trong 𝑚 dòng tiếp theo, mỗi dòng chứa hai số nguyên 𝑢𝑗 , 𝑢𝑗 mô tả ô (𝑢𝑗 , 𝑣𝑗) là ô chứa bi.

Kết quả:

Ghi ra 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 hết tất cả các viên bi trên lưới vào hố.

Ví dụ

Input

1
2 2
2
1 2
3 2

Output

4

Input

0
2
1 1
5 5

Output

8

Ràng buộc:

- Có 15% số lượng test thỏa mãn điều kiện: 𝑛 = 0; 𝑚 = 2 và các số 𝑢𝑖 , 𝑣𝑖 là số nguyên dương không vượt quá 100;
- Có 15% số lượng test khác thỏa mãn điều kiện: 𝑛 = 1; 𝑚 = 2 và các số 𝑥𝑖 , 𝑦𝑖 , 𝑢𝑖 , 𝑣𝑖 là số nguyên dương không vượt quá 100;
- Có 20% số lượng test khác thỏa mãn điều kiện: 𝑛 = 0; 𝑚 ≤ 100 và các số 𝑢𝑖 , 𝑣𝑖 là số nguyên dương không vượt quá 100;
- Có 20% số lượng test khác thỏa mãn điều kiện: 𝑛 ≤ 1000; 𝑚 ≤ 100 và các số 𝑥𝑖 , 𝑦𝑖 , 𝑢𝑖 , 𝑣𝑖 là số nguyên dương không vượt quá 100;
- Có 30% số lượng test còn lại thỏa mãn điều kiện: 𝑛 = 0; 𝑚 ≤ 100 và các số 𝑢𝑖 , 𝑣𝑖 là số nguyên có giá trị tuyệt đối không vượt quá 109


Nguồn: 3D 20162017

Back to Top