BGAME

(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}\)

Bạn cần đăng nhập để nộp bài

hpcode.edu.vn
Code tích cực
Trong 24h
  1. trungnam (6/7)
  2. sythai (5/8)
  3. npk1605 (5/10)
Trong 7 ngày
  1. nguyenanhvu (40/64)
  2. khieuquan (35/59)
  3. ngokhang (27/55)
Trong 30 ngày
  1. quechi (85/105)
  2. dangphong3108 (79/125)
  3. kiennhientv (79/179)
Thống kê
AC/Sub: 97887/180710
Pascal: 17121
C++: 130348
Python: 33199
Lượt xem/tải tests: 38905

Lưu Hải Phong - 2020
[email protected]