Trò chơi đẩy bi
Đề bài
Mô tả
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 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 và cột được gọi là ô . 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 ô tự do 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. 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, với điều kiện ô đó là ô tự do và hiện đang không có bi (viên bi không bao giờ được đẩy vào ô cấm). 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.
Ô hố có thể là bất kỳ ô tự do nào của lưới vô hạn, kể cả ô nằm ngoài phạm vi tọa độ xuất hiện trong dữ liệu vào.
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à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.
Dữ liệu vào
- Dòng đầu tiên ghi số nguyên không âm là số ô cấm.
- Dòng thứ trong dòng tiếp theo 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ứ trong dòng tiếp theo chứa hai số nguyên mô tả ô là ô chứa bi.
Các ô cấm đôi một khác nhau, các ô chứa bi đôi một khác nhau và không có ô chứa bi nào là ô cấm.
Dữ liệu 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 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ố.
Ràng buộc
- , .
- Nếu thì mọi là số nguyên dương không vượt quá .
- Nếu thì .
Subtasks
- Subtask 1 ( số điểm): , và các số là số nguyên dương không vượt quá .
- Subtask 2 ( số điểm): , và các số là số nguyên dương không vượt quá .
- Subtask 3 ( số điểm): , và các số là số nguyên dương không vượt quá .
- Subtask 4 ( số điểm): , và các số là số nguyên dương không vượt quá .
- Subtask 5 ( số điểm): , và các số là số nguyên có giá trị tuyệt đối không vượt quá .
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 1 2 2 2 1 2 3 2 |
4 | Chọn ô làm hố, viên bi ở ô này biến mất ngay. Viên bi ở ô không đi thẳng được vì ô là ô cấm, nên đi vòng , mất bước. |
| 0 2 1 1 5 5 |
8 | Chọn ô làm hố, viên bi ở ô cần bước. |
| 8 1 1 1 3 3 1 2 1 2 3 1 2 3 2 3 3 2 2 2 5 5 |
-1 | Tám ô cấm bao kín ô , nên viên bi ở ô và viên bi ở ô không thể cùng đi tới một ô hố nào. |
Bình luận