(bgame.*)
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)\). Khi bắt đầu chơi, người chơi
được cho một số nguyên dương \(k\) và
trên lưới sẽ xuất hiện một số viên bi, 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
\(k\) ô phân biệt 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. Sau đó,
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 một trong \(k\) ô 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ó chứa bi. Hãy chọn \(k\) ô 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 vào:
- Dòng đầu chứa hai số nguyên dương \(n,\ k\ (2\ \leq \ n\ \leq \ 12)\);
- Dòng thứ \(i\ (i\ = \ 1,\ 2,\ \ldots\ ,\ n)\) trong \(n\) dòng tiếp theo, mỗi dòng chứa hai số nguyên \(x_{i},\ y_{i}\) mô tả ô \((x_{i},\ y_{i})\) là ô chứa bi.
Kết quả:
- Gồm một dòng ghi 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ố.
Ví dụ:
Input | Output |
---|---|
5 1 0 0 0 4 4 0 4 4 2 2 |
16 |
Ràng buộc:
- Có 20% số lượng test: \(k\ = \ 1\) và các số 𝑥𝑖, 𝑦𝑖 là số nguyên dương \(\leq \ 100\);
- Có 20% số lượng test: \(k\ = \ 2\) và các số 𝑥𝑖, 𝑦𝑖 là số nguyên dương \(\leq 100\);
- Có 20% số lượng test: \(k\ = \ 1\) và các số 𝑥𝑖, 𝑦𝑖 là số nguyên có trị tuyệt đối \(\leq 10^{6}\ \);
- Có 20% số lượng test: \(k\ = \ 2\) và các số 𝑥𝑖, 𝑦𝑖 là số nguyên có trị tuyệt đối \(\leq 10^{6}\);
- Có 20% số lượng test: \(k\ \leq \ n\) các số 𝑥𝑖, 𝑦𝑖 là số nguyên có trị tuyệt đối \(\leq 10^{6}\)
Code tích cực |
---|
Trong 24h |
Trong 7 ngày |
|
Trong 30 ngày |
|
Thống kê |
---|
AC/Sub: 97887/180710 Pascal: 17121 C++: 130348 Python: 33199 Lượt xem/tải tests: 38905 |