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 翻译