trang chủ / bài tập / garland47

Chuỗi đèn trang trí

Đề bài

Mô tả

Một dây đèn gồm n bóng đèn xếp thành một hàng. Mỗi bóng mang một số nguyên phân biệt trong khoảng từ 1 đến n, tức là dãy số trên dây đèn là một hoán vị của 1,2,,n.

Một số bóng đã bị tháo ra khỏi dây. Vị trí trống được ký hiệu bằng số 0. Bạn cần gắn lại tất cả các bóng đã bị tháo vào các vị trí trống, mỗi vị trí đúng một bóng, sao cho dãy thu được lại là một hoán vị của 1,2,,n.

Độ phức tạp của dây đèn là số cặp bóng kề nhau mà hai số trên chúng khác nhau về tính chẵn lẻ. Ví dụ, dãy 1 4 2 3 5 có độ phức tạp bằng 2, còn dãy 1 3 5 7 6 4 2 có độ phức tạp bằng 1.

Hãy tìm độ phức tạp nhỏ nhất có thể đạt được.

Dữ liệu vào

  • Dòng đầu chứa số nguyên n là số bóng đèn trên dây.
  • Dòng thứ hai chứa n số nguyên p1,p2,,pn: số ghi trên bóng thứ i, hoặc 0 nếu bóng đó đã bị tháo. Các giá trị khác 0 đôi một phân biệt.

Dữ liệu ra

Một số nguyên duy nhất là độ phức tạp nhỏ nhất.

Ràng buộc

  • 1n100
  • 0pin

Ví dụ

Input Output Giải thích
5
0 5 0 2 3
2 Một cách gắn tối ưu là 1 5 4 2 3. Chỉ có hai cặp kề nhau khác tính chẵn lẻ là (5, 4) và (2, 3).
7
1 0 0 5 0 0 2
1 Một cách gắn tối ưu là 1 7 3 5 6 4 2, chỉ có duy nhất cặp (5, 6) khác tính chẵn lẻ.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 csc 6.12.0.200 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.2 gforth 0.7.3 gfortran 12.2.0 go 1.27.0 groovyc 5.1.1 javac 25.0.4 node 26.8.1 kotlinc 2.4.10 sbcl 2.2.9 lua 5.4.9 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.10 pike 8.0 pypy3 7.3.23 python3 3.14.7 racket 8.7 ruby 4.0.6 rustc 1.98.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.4.0 deno 2.9.6 v 0.5.2 zig 0.16.0