JOI 2014 - Super Metropolis
Xem PDFJOI được giao lập kế hoạch cho một chuyến tham quan thành phố Siêu Đô ở đất nước IOI.
Siêu Đô được chia thành một lưới ô vuông bởi \(W\) con đường thẳng chạy theo hướng bắc–nam và \(H\) con đường thẳng chạy theo hướng đông–tây.
Các con đường bắc–nam được đánh số \(1, 2, \ldots, W\) từ tây sang đông. Các con đường đông–tây được đánh số \(1, 2, \ldots, H\) từ nam lên bắc. Giao điểm của con đường bắc–nam thứ \(i\) tính từ phía tây và con đường đông–tây thứ \(j\) tính từ phía nam được ký hiệu là \((i, j)\).
Ngoài ra, từ mỗi giao điểm còn có một đoạn đường đến giao điểm liền kề về phía đông bắc, trừ các giao điểm nằm trên con đường cực bắc hoặc cực đông. Tương tự, có một đoạn đường đến giao điểm liền kề về phía tây nam, trừ các giao điểm nằm trên con đường cực nam hoặc cực tây.
Cụ thể, từ giao điểm \((i, j)\), có thể đi qua một đoạn đường để đến mỗi giao điểm trong số \((i - 1, j)\), \((i + 1, j)\), \((i, j - 1)\), \((i, j + 1)\) nếu giao điểm đó tồn tại. Ngoài ra, cũng có thể đi qua một đoạn đường để đến \((i - 1, j - 1)\) hoặc \((i + 1, j + 1)\) nếu giao điểm đó tồn tại.
JOI đã quyết định thứ tự ghé thăm \(N\) điểm tham quan. Điểm tham quan thứ \(i\) cần ghé thăm (\(1 \le i \le N\)) nằm tại giao điểm \((X_i, Y_i)\). Để rút ngắn thời gian của chuyến tham quan, JOI muốn giảm số đoạn đường phải đi qua.
Hãy viết chương trình tìm tổng số đoạn đường ít nhất phải đi qua để ghé thăm các điểm tham quan theo đúng thứ tự đã định.
Chuyến tham quan bắt đầu tại giao điểm \((X_1, Y_1)\). Trong chuyến đi, JOI không được ra ngoài Siêu Đô. JOI có thể đi qua giao điểm có một điểm tham quan mà không ghé thăm điểm tham quan đó.
Làm rõ về tổng số đoạn đường: Có thể đi qua cùng một đoạn đường hai lần trở lên trong chuyến tham quan. Khi tính tổng số đoạn đường, đoạn đường đó được tính lặp lại đúng bằng số lần đi qua.
Dữ liệu vào
Dữ liệu vào gồm \(1 + N\) dòng:
- Dòng đầu tiên chứa ba số nguyên \(W, H, N\), cách nhau bởi dấu cách.
- Dòng thứ \(i\) trong \(N\) dòng tiếp theo (\(1 \le i \le N\)) chứa hai số nguyên \(X_i, Y_i\), cách nhau bởi dấu cách, cho biết điểm tham quan thứ \(i\) cần ghé thăm nằm tại giao điểm \((X_i, Y_i)\).
Dữ liệu ra
In ra một dòng chứa tổng số đoạn đường ít nhất phải đi qua để ghé thăm các điểm tham quan theo đúng thứ tự.
Ràng buộc
- \(2 \le W \le 10000\).
- \(2 \le H \le 10000\).
- \(1 \le N \le 1000\).
- \(1 \le X_i \le W\) và \(1 \le Y_i \le H\) với mọi \(1 \le i \le N\).
Ví dụ
Ví dụ 1
Input
4 3 3
1 1
3 3
4 1
Output
5
Giải thích
Chẳng hạn, có thể đi qua các giao điểm theo thứ tự \((1, 1)\), \((2, 2)\), \((3, 3)\), \((3, 2)\), \((4, 2)\), \((4, 1)\).
Ví dụ 2
Input
4 3 5
1 3
4 3
2 2
2 2
1 3
Output
7
Giải thích
Như trong ví dụ này, có thể phải ghé thăm cùng một giao điểm nhiều lần.
Kỳ thi:
- JOI 2013/2014 - Vòng sơ khảo (1 Tháng 1., 2014)
Bình luận