提前提交翻译
  • 板块灌水区
  • 楼主stylus
  • 当前回复5
  • 已保存回复5
  • 发布时间2024/6/2 00:41
  • 上次更新2024/6/2 09:02:16
查看原帖
提前提交翻译
836448
stylus楼主2024/6/2 00:41

题目:

你拥有N把钥匙,编号为1到N。其中一些是正确的钥匙,其余的是假钥匙。

还有一个门X,你可以插入任意数量的钥匙,只有当插入了K把或更多正确的钥匙时,门X才会打开。你已经对这些钥匙进行了M次测试。第i次测试的内容如下:

  • 插入CiC_i把钥匙Ai,1,Ai,2,...,Ai,CiA_{i,1}, A_{i,2}, ..., A_{i,C_i}到门X。
  • 测试结果由一个英文字母RiR_i表示。
  • 如果RiR_i='o',则表示第i次测试中门打开了。
  • 如果RiR_i='x',则表示第i次测试中门没有打开。

虽然考虑所有钥匙是正确还是假的可能性有2N2^N种,但我们需要找出其中不与任何测试结果矛盾的组合数量。如果给定的测试结果是错误的,并且不存在满足上述条件的组合,那么答案应该是0。

约束:

  • N,M,K,Ci,Ai,jN, M, K, C_i, A_{i,j}是整数
  • 1≤K≤N≤151≤K≤N≤15
  • 1≤M≤1001≤M≤100
  • 1≤Ci≤N1≤C_i≤N
  • 1≤Ai,j≤N1≤A_i,j≤N
  • 如果j≠k,则Ai,j≠Ai,k如果j≠k,则A_{i,j}≠A_{i,k}
  • RiR_i是'o'或'x'

输入:

输入以以下形式从标准输入提供。

N M K
C_1 A_{1,1} A_{1,2} ... A_{1,C_1} R_1
C_2 A_{2,1} A_{2,2} ... A_{2,C_2} R_2
...
C_M A_{M,1} A_{M,2} ... A_{M,C_M} R_M

输出:

输出答案为整数。

输入示例 1

3 2 2
3 1 2 3 o
2 2 3 x

输出示例 1

2

在这个输入中,有3把钥匙,进行了2次测试。 打开门X所需的正确钥匙数量是2把。

  • 第一次测试使用了钥匙1,2,3,结果门X打开了。
  • 第二次测试使用了钥匙2,3,结果门X没有打开。

不与任何测试结果矛盾的钥匙组合有两种。

  • 钥匙1是真钥匙,钥匙2是假钥匙,钥匙3是真钥匙。
  • 钥匙1是真钥匙,钥匙2是真钥匙,钥匙3是假钥匙。

输入示例 2

4 5 3
3 1 2 3 o
3 2 3 4 o
3 3 4 1 o
3 4 1 2 o
4 1 2 3 4 x

输出示例 2

0

正如问题陈述中提到的,答案可能是0种。

输入示例 3

11 4 9
10 1 2 3 4 5 6 7 8 9 10 o
11 1 2 3 4 5 6 7 8 9 10 11 o
10 11 10 9 8 7 6 5 4 3 2 x
10 11 9 1 4 3 7 5 6 2 10 x

输出示例 3

8

2024/6/2 00:41
加载中...