#abc147c. [abc147_c]HonestOrUnkind2

[abc147_c]HonestOrUnkind2

题目描述

NN 个人,编号从 11NN。每个人要么是 诚实 的,其陈述总是正确的,要么是 不友善 的,其陈述可能正确也可能不正确。

ii 个人作出 AiA_i 个陈述。第 ii 个人的第 jj 个陈述由两个整数 xijx_{ij}yijy_{ij} 表示。如果 yij=1y_{ij} = 1,则这个陈述表示第 xijx_{ij} 个人是诚实的;如果 yij=0y_{ij} = 0,则表示第 xijx_{ij} 个人是不友善的。

最多有多少个人是诚实的?

约束条件

  • 输入中的所有值都是整数。
  • 1N151 \leq N \leq 15
  • 0AiN10 \leq A_i \leq N - 1
  • 1xijN1 \leq x_{ij} \leq N
  • xijix_{ij} \neq i
  • xij1xij2(j1j2)x_{ij_1} \neq x_{ij_2} (j_1 \neq j_2)
  • yij=0,1y_{ij} = 0, 1

输入

输入数据从标准输入读取,其格式如下:

NN A1A_1 x11x_{11} y11y_{11} x12x_{12} y12y_{12} :: x1A1x_{1A_1} y1A1y_{1A_1} A2A_2 x21x_{21} y21y_{21} x22x_{22} y22y_{22} :: x2A2x_{2A_2} y2A2y_{2A_2} :: ANA_N xN1x_{N1} yN1y_{N1} xN2x_{N2} yN2y_{N2} :: xNANx_{NA_N} yNANy_{NA_N}

输出

打印出 NN 个人中最多可能是诚实的人数。

示例输入 1

3
1
2 1
1
1 1
1
2 0

示例输出 1

2

如果第一个人和第二个人是诚实的,而第三个人是不友善的,我们就有两个没有矛盾的诚实人,这是最多可能的诚实人数。

示例输入 2

3
2
2 1
3 0
2
3 1
1 0
2
1 1
2 0

示例输出 2

0

假设其中一个或多个人是诚实的会导致矛盾。

示例输入 3

2
1
2 0
1
1 0

示例输出 3

1