USACO 2012 - Rope Folding

Xem PDF



Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1100 (p) Thời gian: 4.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Farmer John có một sợi dây dài \(L\) (\(1 \le L \le 10\,000\)), dùng cho nhiều công việc khác nhau quanh trang trại. Trên dây có \(N\) nút thắt ở những vị trí đôi một khác nhau (\(1 \le N \le 100\)), trong đó có một nút tại mỗi đầu dây.

FJ nhận thấy có một số vị trí mà ông có thể gập sợi dây ngược lên chính nó sao cho tất cả các nút trên hai đoạn dây đối diện trùng khít với nhau:

Hãy giúp FJ đếm số điểm gập có tính chất này. Được phép gập ngay tại một nút thắt, ngoại trừ không được gập tại một trong hai đầu dây; các nút thừa ở phía dài hơn của nếp gập không gây trở ngại (nghĩa là các nút chỉ cần trùng nhau trong vùng có hai đoạn dây đối diện nhau). FJ mỗi lần chỉ xét một nếp gập duy nhất; may thay, ông không bao giờ gập nhiều lần.

Dữ liệu vào

  • Dòng 1 chứa hai số nguyên \(N\)\(L\), cách nhau bởi dấu cách.
  • Các dòng từ 2 đến \(1+N\): mỗi dòng chứa một số nguyên trong đoạn \(0 \ldots L\), chỉ vị trí của một nút thắt. Hai trong số các dòng này luôn là 0 và \(L\).

Dữ liệu ra

In số vị trí gập hợp lệ.

Ví dụ

Ví dụ 1

Input
5 10
0
10
6
2
4
Output
4
Giải thích

Sợi dây có độ dài \(L=10\), với 5 nút thắt tại các vị trí 0, 2, 4, 6 và 10.

Các vị trí gập hợp lệ là 1, 2, 3 và 8.

Nguồn

USACO 2012 February Contest, Bronze - Rope Folding: https://usaco.org/index.php?page=viewproblem2&cpid=112

Tác giả: Brian Dean, 2012.

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.

Kỳ thi: