#P2070. 心有灵犀一点通

心有灵犀一点通

题目描述



小七刚才制作了一个有 nn 盏灯和 2n2n 个开关,开关(即每盏灯或每个开关)都有两个状态:或者。灯和开关按照下列方式排序:

  • 每盏灯连接两个开关。
  • 每个开关与一盏灯连接,且不知道灯和开关的连接关系。
  • 如果灯的两个开关都处于关闭状态,则灯也会关闭。
  • 如果开关状态发生改变(即关变成开或开变成关),则相连的灯也会改变状态。

小七把只展示了 2n2n 盏灯的开关拿给奶龙看,并给了它一个谜题:能够开启灯的数量的最小值和最大值分别是多少?

奶龙非常聪明,很快就给出了正确答案。你也能做到吗?

输入格式

每个测试点有多组测试数据。第一行包含整数 t(1t105)t(1\leq t\leq 10^{5}),表示测试数据个数。

每个测试数据的第一行为一个整数 n(1n50)n(1\leq n\leq 50),表示灯的数量。

第二行包含 2n2n 个整数 a1,a2,,a2n(0ai1)a_1,a_2,\dots, a_{2n}(0\leq a_i\leq 1),表示开关的状态,其中 ai=0a_i=0 表示第 ii 个开关处于关闭状态,ai=1a_i=1 表示第 ii 个开关处于开启状态。

输出格式

对于每组测试数据,输出两个整数,分别表示能够开启灯的数量的最小值和最大值。

样例

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

对于第一个测试数据,只有一盏灯,且开关均处于关闭状态,因此灯一定处于关闭状态。

对于第二个测试数据,只有一盏灯,但其中一个开关处于开启状态,因此灯一定处于开启状态。

对于第三个测试数据,只有一盏灯,且前两个开关都处于开启状态,这说明这盏灯被两个开关分别切换了一次状态,所以灯处于关闭状态。

对于第四个测试数据,让所有灯都处于关闭状态的可能为:

  • 开关 11 和开关 44 连接电灯 11。由于这两个开关都关闭,所以这盏灯也关闭。
  • 开关 22 和开关 66 连接电灯 22。由于这两个开关都关闭,所以这盏灯也关闭。
  • 开关 33 和开关 55 连接电灯 33。由于这两个开关都开启,所以这盏灯的状态被切换了两次,处于关闭状态。

让两盏灯处于开启状态的可能为:

  • 开关 11 和开关 22 连接电灯 11。由于这两个开关都关闭,所以这盏灯也关闭。
  • 开关 33 和开关 44 连接电灯 11。由于开关 33 开启而开关 44 关闭,所以这盏灯开启。
  • 开关 55 和开关 66 连接电灯 33。由于开关 55 开启而开关 66 关闭,所以这盏灯开启。