Kẻ thù của những con mèo

View as PDF

Submit solution

Points: 1.00
Time limit: 1.0s
Memory limit: 64M
Input: stdin
Output: stdout

Author:
Problem type

Câu chuyện mối tình tay ba của những con bò trong cuộc thi VNOI CUP 2023 thật sự rất lãng mạn. Hôm nay, chúng ta cùng kể câu chuyện thù địch của những con mèo. Trong CLB H3.2, bạn Thảo My có nuôi ~n~ con mèo, nhưng dù chủ nhân rất ôn hòa, dễ tính thì ngược lại lũ mèo rất toxic. Con mèo thứ ~i~ sẽ thù địch một con mèo ~p_i~ nào đó trong những con mèo trên. Chú ý rằng, sự thù địch không có tính hai chiều (~A~ ghét ~B~ thì chưa chắc ~B~ ghét ~A~) và đôi khi có những còn mèo còn ghét chính bản thân nó. Điều thú vị là mỗi con mèo đều bị thù địch bởi đúng một con khác. Bạn My muốn giảng hòa cho các con mèo nên đã bế chúng xếp lên một bàn tròn sao cho đi theo chiều kim đồng hồ thì mỗi con mèo sẽ thù địch với con mèo ngồi liền trước nó. Sau đó bạn tìm cách khuyên nhủ chúng. Hỏi My có thể xếp được thành bao nhiêu cái bàn như thế (nếu chỉ có ~1~ mèo ghét chính mình thì cho nó ngồi ~1~ bàn ~1~ mèo)? Trong trường hợp không thể xếp được hoặc có nhiều hơn một cách xếp thì in ra ~-1.~

Input

Dòng đầu tiên gồm số nguyên dương ~n~ với ~1 \le n \le 10^5.~

Dòng thứ hai là dãy số ~p_1, p_2, ..., p_n~ cho biết số thứ tự của kẻ thù địch của những con mèo, theo thông tin trên thì rõ ràng không có số nào xuất hiện nhiều lần.

Output

Số nhóm mèo thù địch mà bạn My cần đếm.

Sample input 1

4

3 4 1 2

Sample output 1

2

Sample input 2

4

1 2 3 4

Sample output 2

4

Sample input 3

4

3 1 4 2

Sample output 3

1

Giải thích: trong VD1, ta cho mèo (1,3) chung bàn, (2,4) chung bàn; trong VD2, mỗi mèo ghét chính bản thân nó nên mỗi mèo một bàn; còn trong VD3, ta có thể xếp chúng lên bàn tròn theo thứ tự (1,3,4,2) thì rõ ràng 2 con ngồi cạnh nhau sẽ ghét nhau.


Comments

Please read the guidelines before commenting.


There are no comments at the moment.