CF2032A.Circuit
入门
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Alice 刚才制作了一个有 n 盏灯和 2n 个开关的电路,电路中的每个元件(即每盏灯或每个开关)都有两个状态:开或者关。灯和开关按照下列方式排序:
- 每盏灯连接两个开关。
- 每个开关与一盏灯连接,且不知道灯和开关的连接关系。
- 如果所有开关都处于关闭状态,则所有的灯也会关闭。
- 如果开关状态发生改变(即关变成开或开变成关),则相连的灯也会改变状态。
Alice 把只展示了 2n 盏灯的电路拿给姐姐 Iris 看,并给了她一个谜题:能够开启灯的数量的最小值和最大值分别是多少?
Iris 非常了解她妹妹的小把戏,很快就给出了正确答案。你也能做到吗?
输入格式
每个测试点有多组测试数据。第一行包含整数 t(1≤t≤500),表示测试数据个数。
每个测试数据的第一行为一个整数 n(1≤n≤50),表示灯的数量。
第二行包含 2n 个整数 a1,a2,…,a2n(1≤ai≤1),表示开关的状态,其中 ai=0 表示第 i 个开关处于关闭状态,ai=1 表示第 i 个开关处于开启状态。
输出格式
对于每组测试数据,输出两个整数,分别表示能够开启灯的数量的最小值和最大值。
样例解释
对于第一个测试数据,电路中只有一盏灯,且开关均处于关闭状态,因此灯一定处于关闭状态。
对于第二个测试数据,电路中只有一盏灯,但其中一个开关处于开启状态,因此灯一定处于开启状态。
对于第三个测试数据,电路中只有一盏灯,且前两个开关都处于开启状态,这说明这盏灯被两个开关分别切换了一次状态,所以灯处于关闭状态。
对于第四个测试数据,让所有灯都处于关闭状态的可能为:
- 开关 1 和开关 4 连接电灯 1。由于这两个开关都关闭,所以这盏灯也关闭。
- 开关 2 和开关 6 连接电灯 2。由于这两个开关都关闭,所以这盏灯也关闭。
- 开关 3 和开关 5 连接电灯 3。由于这两个开关都开启,所以这盏灯的状态被切换了两次,处于关闭状态。
让两盏灯处于开启状态的可能为:
- 开关 1 和开关 2 连接电灯 1。由于这两个开关都关闭,所以这盏灯也关闭。
- 开关 3 和开关 4 连接电灯 1。由于开关 3 开启而开关 4 关闭,所以这盏灯开启。
- 开关 5 和开关 6 连接电灯 3。由于开关 5 开启而开关 6 关闭,所以这盏灯开启。
输入输出样例
输入#1
5 1 0 0 1 0 1 1 1 1 3 0 0 1 0 1 0 3 0 1 1 1 0 0
输出#1
0 0 1 1 0 0 0 2 1 3
输入解题思路,AI测评打分。不知道怎么写?