题目名称 | 223. XOR门 |
---|---|
输入输出 | xor.in/out |
难度等级 | ★★ |
时间限制 | 1000 ms (1 s) |
内存限制 | 128 MiB |
测试数据 | 10 |
题目来源 | BYVoid 于2008-11-25加入 |
开放分组 | 全部用户 |
提交状态 | |
分类标签 | |
分享题解 |
通过:0, 提交:1, 通过率:0% | ||||
BYVoid | 90 | 1.685 s | 0.30 MiB | C++ |
关于 XOR门 的近10条评论(全部评论) |
---|
一个XOR门包含两个输入和一个输出,它的工作可以用下表描述:
input 1 input 2 output 0 0 0 0 1 1 1 0 1 1 1 0
如果一个XOR门系统有n个输入和1个输出,且满足以下条件,则称这个XOR门系统为XOR网络。
例子:
图中有一个由6个XOR门组成的XOR系统。它有5个输入和1个输出,它满足以上的5个条件,所以它是一个XOR网络。注意:图中给出的编号方式不满足条件5,但可以找到一种满足条件的编号方式。
网络的输入标号为1到5,一种输入状态可以用一个长度为n的字符串表示,每一位是0或1,我们假设第I个数字表示第I个输入的状态。每一个 输入都是一个自然数的二进制编码,所以我们可以按输入状态表示的数值的大小将它们排序。我们要测试一个电路门网络,通过向它发送一个范围以内的输入,计算 使输出是1的输入个数。
任务:
我们假设3 < n < 100, 3 < m < 3000,而且网络中的门是用1到m之间的数任 意编号的。
第一行包含三个整数,分别表示输入的个数,门的个数,连接到输出的门的编号。以下的m行描述网络中的连接情况。第I行表示第I个门的两个输入,两个输 入为范围[-n,m]之间的一个整数。如果输入是网络的第k个输入,则连接的描述是一个整数-k,如果输入是第j个门,则连接的描述是一个整数j。以下两 行各有一个n位二进制串,表示输入的上限和下限。我们假设给定范围内最多100000种输入。
输出文件包含一个整数,表示给定范围内有多少种输入可以使输出为1。
5 6 5 -1 -2 1 3 1 -2 2 -3 4 6 -4 -5 00111 01110
5