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

Sắp Xếp Lại Bò

Đề bài

Mô tả

Cho một dãy gồm N phần tử là một hoán vị A của các số từ 1 đến N. Bạn cần sắp xếp lại dãy này thành hoán vị B 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 B, 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 N.
  • N dòng tiếp theo: hoán vị A (mỗi dòng một số).
  • N dòng tiếp theo: hoán vị B (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 0 1.

Ràng buộc

  • 1N100

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

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.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0