Sắp Xếp Lại Bò
Đề bài
Mô tả
Cho một dãy gồm phần tử là một hoán vị của các số từ đến . Bạn cần sắp xếp lại dãy này thành hoán vị bằng cách thực hiện các phép dịch vòng.
Mỗi phép dịch vòng hoạt động như sau: chọn một phần tử chưa ở đúng vị trí, di chuyển nó đến vị trí đúng trong , phần tử bị đẩy ra sẽ tiếp tục di chuyển đến vị trí đúng của nó, và cứ thế cho đến khi hoàn thành một chu trình quay về phần tử ban đầu.
Hãy đếm số phép dịch vòng cần thực hiện và tìm độ dài của phép dịch vòng dài nhất.
Dữ liệu vào
- Dòng đầu tiên: số nguyên .
- dòng tiếp theo: hoán vị (mỗi dòng một số).
- dòng tiếp theo: hoán vị (mỗi dòng một số).
Dữ liệu ra
Một dòng chứa hai số nguyên cách nhau bởi dấu cách: số phép dịch vòng và độ dài phép dịch vòng dài nhất. Nếu không cần phép dịch vòng nào, in .
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 5 5 1 4 2 3 2 5 3 1 4 |
2 3 | Có 2 chu trình: chu trình (5,1,2) có độ dài 3 và chu trình (4,3) có độ dài 2. Chu trình dài nhất có độ dài 3. |
Bình luận