Xiên nướng của Pavel
Đề bài
Mô tả
Có chiếc xiên nướng nằm trên vị trí xếp thành một hàng, mỗi vị trí đúng một chiếc xiên. Mỗi chiếc xiên tại một thời điểm còn có một trong hai hướng: hướng ban đầu hoặc hướng ngược lại. Như vậy có tất cả trạng thái đặt khác nhau: vị trí nhân với hướng.
Quy trình đảo xiên được mô tả bởi một hoán vị và một dãy nhị phân . Mỗi giây, đồng thời với mọi , chiếc xiên đang ở vị trí được chuyển sang vị trí ; ngoài ra nếu thì chiếc xiên đó còn bị lật ngược hướng.
Quy trình được gọi là hợp lệ nếu tồn tại số nguyên sao cho sau giây, mỗi chiếc xiên đã từng đi qua tất cả trạng thái đặt. Một chiếc xiên được phép đi qua cùng một trạng thái nhiều lần.
Hãy tìm số phần tử ít nhất cần thay đổi trong hai dãy và để quy trình trở thành hợp lệ. Lưu ý: sau khi thay đổi, dãy vẫn phải là một hoán vị của ; còn các phần tử của vẫn phải bằng hoặc . Mỗi phần tử bị sửa ở hay ở đều tính là một lần thay đổi.
Dữ liệu vào
- Dòng đầu chứa số nguyên là số chiếc xiên.
- Dòng thứ hai chứa số nguyên mô tả hoán vị.
- Dòng thứ ba chứa số nguyên , mỗi số bằng hoặc .
Dữ liệu ra
In ra một số nguyên duy nhất là số phần tử ít nhất cần thay đổi.
Ràng buộc
- , và là một hoán vị của
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 4 4 3 2 1 0 1 1 1 |
2 | Hoán vị gồm hai chu trình và nên xiên ở vị trí không bao giờ tới được vị trí . Đổi thành (sửa phần tử) thì thành một chu trình duy nhất. Dãy có tổng bằng là số lẻ nên giữ nguyên. |
| 3 2 3 1 0 0 0 |
1 | Hoán vị đã là một chu trình duy nhất nên không cần sửa. Nhưng không xiên nào bị lật nên mỗi xiên chỉ đi qua trong trạng thái. Đổi một phần tử bất kỳ của thành là đủ. |
Bình luận