[CSES 3398] Permutation Rounds

Xem dạng PDF

Gửi bài giải


Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 512M
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C++, Pascal, PyPy, Python

Cho một mảng đã được sắp xếp ~[1,2,\dots,n]~ và một hoán vị ~p\_1,p\_2,\dots,p\_n~. Ở mỗi vòng, tất cả phần tử di chuyển theo hoán vị: phần tử ở vị trí ~i~ di chuyển đến vị trí ~p\_i~.

Sau bao nhiêu vòng thì mảng được sắp xếp trở lại lần đầu tiên?

Dữ liệu vào

Dòng đầu tiên chứa một số nguyên ~n~.

Dòng tiếp theo chứa ~n~ số nguyên ~p\_1,p\_2,\dots,p\_n~.

Kết quả

In ra số vòng cần tìm modulo ~10^9+7~.

Giới hạn

  • ~1 \le n \le 2 \cdot 10^5~

Ví dụ

Dữ liệu vào:

8
5 3 2 6 4 1 8 7

Kết quả:

4

Giải thích: Mảng thay đổi qua các vòng như sau:

  • Vòng 1: ~[6,3,2,5,1,4,8,7]~
  • Vòng 2: ~[4,2,3,1,6,5,7,8]~
  • Vòng 3: ~[5,3,2,6,4,1,8,7]~
  • Vòng 4: ~[1,2,3,4,5,6,7,8]~

Bình luận

Hãy đọc nội quy trước khi bình luận.


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