#A00007. 阿兔与真话

阿兔与真话

题目描述

在一个房间中有 nn 只兔子,编号为 11 到 nn。其中恰好有一只兔子打碎了瓶子。

每只兔子都会对某一只兔子发表一条陈述。第 ii 只兔子会选择一只兔子 aia_i,并声称该兔子是否打碎了瓶子。具体来说:

  • 若 bi=1b_i = 1,表示第 ii 只兔子声称 “aia_i 打碎了瓶子”;
  • 若 bi=0b_i = 0,表示第 ii 只兔子声称 “aia_i 没有打碎瓶子”。

合法状态满足以下条件:恰好只有一只兔子说了真话;恰好只有一只兔子打碎了瓶子。

现在你需要判断:在所有合法状态中,是否存在一只唯一的兔子,他在所有合法状态下都一定是打碎瓶子的兔子。如果存在这样的唯一编号,输出该编号;否则输出 -1。

输入格式

第一行一只整数 nn。

接下来 nn 行,每行两只整数 ai,bia_i, b_i,表示第 ii 只兔子的陈述。

输出格式

输出一只整数,表示答案。如果存在这样的唯一编号,输出该编号;否则输出 -1。

4
3 1
2 0
3 0
1 1
2
2
1 1
2 1
-1

数据范围

  • 对于 50%50\% 的评测用例,n≤20n≤20;
  • 对于所有评测用例,1≤n≤2×1051 \leq n≤2\times10^5,1≤ai≤n1 \leq a_i\leq n,0≤bi≤10≤b_i≤1。