AT_maximum_cup_2018_c 嘘つきな天使たち
题目描述
天使之中混入了恶魔。你必须向上司报告此事,但上司命令你“调查最多有多少恶魔混入了其中”。
“到底谁是恶魔呢?”
你这样问道,他们便互相指认“那家伙是恶魔”。**每个人指认的对象都不相同,没有人被多个人指认。**
看来天使一定会指认恶魔,恶魔一定会指认天使。
请你报告最多可能有多少个恶魔。
注意,你和上司既不是天使也不是恶魔,也不包含在输入的“他们”之中。此外,“他们”每个人要么是天使,要么是恶魔。
输入格式
输入通过标准输入给出,格式如下:
> $N$
> $A_1$
> $A_2$
> $\vdots$
> $A_N$
第一行为一个整数 $N$,接下来 $N$ 行每行一个整数。
第 $i+1$ 行表示编号为 $i$ 的人指认了编号为 $A_i$ 的人。
其中,$2 \leq N \leq 10^5$,$1 \leq A_i \leq N$,并且对于任意不同的 $i, j$,都有 $A_i \neq A_j$。
输出格式
请输出作为可能的恶魔人数的最大值。
如果无论如何分配天使和恶魔都会产生矛盾,则输出 $-1$。
说明/提示
由 ChatGPT 4.1 翻译