atu#P26007. 说真话

说真话

题目描述

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

每个人都会对某一个人发表一条陈述。第 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\% 的评测用例,n20n≤20;
  • 对于所有评测用例,1n2×1051 \leq n≤2\times10^51ain1 \leq a_i\leq n0bi10≤b_i≤1