Đường đi tam giác
Đề bài
Mô tả
Xét một tam giác vô hạn gồm các tầng. Đánh số các tầng từ bắt đầu từ đỉnh tam giác (từ trên xuống dưới). Tầng thứ chứa điểm, đánh số từ trái sang phải. Mỗi điểm được mô tả bởi cặp số với , trong đó là số tầng và là số thứ tự điểm trong tầng đó.
Từ mỗi điểm có hai cạnh có hướng đi xuống và , nhưng tại mỗi điểm chỉ có đúng một cạnh được kích hoạt:
- Nếu chẵn, cạnh đi tới được kích hoạt.
- Nếu lẻ, cạnh đi tới được kích hoạt.
Ban đầu bạn ở điểm . Tại mỗi lượt bạn có thể thực hiện một trong hai thao tác:
- Đảo cạnh tại điểm hiện tại: thay cạnh kích hoạt hiện tại bằng cạnh còn lại. Thao tác này làm chi phí đường đi tăng thêm .
- Di chuyển từ điểm hiện tại theo cạnh đang được kích hoạt sang điểm kế tiếp. Thao tác này không tốn chi phí.
Cho dãy điểm phân biệt. Hãy tìm chi phí nhỏ nhất của đường đi xuất phát từ và đi qua tất cả điểm theo thứ tự bất kỳ.
Dữ liệu đảm bảo luôn tồn tại ít nhất một cách đi qua đủ điểm.
Dữ liệu vào
Dòng đầu chứa số nguyên () — số bộ test.
Với mỗi bộ test:
- Dòng đầu chứa số nguyên () — số điểm cần đi qua.
- Dòng thứ hai chứa số nguyên ().
- Dòng thứ ba chứa số nguyên ().
Tổng trên tất cả các bộ test không vượt quá .
Dữ liệu ra
Với mỗi bộ test, in ra một dòng chứa chi phí nhỏ nhất của đường đi.
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 4 3 1 4 2 1 3 1 2 2 4 2 3 2 1 1000000000 1 1000000000 4 3 10 5 8 2 5 2 4 |
0 1 999999999 2 |
Test 1: từ có thể tới rồi mà không cần đảo cạnh nào. Test 2: cần đúng một lần đảo. Test 3: cần đảo cạnh ở mỗi tầng để di chuyển từ tới , tổng cộng lần. |
Bình luận