‹ 上一题 下一题 ›

06690. USACO·礼物再分配 未做

2000 ms 256 MB 测试点 18 通过率 100% USACO池题USACO-Gold状态压缩动态规划

题目描述

Farmer John 为他的 头编号为 的奶牛准备了 个同样编号为 的礼物()。每头奶牛都有一个愿望单,是所有 个礼物的一个排列,奶牛相比序列中较晚出现的礼物更喜欢序列中较早出现的礼物。

FJ 很懒,只是对于所有 将礼物 分配给奶牛 。现在,奶牛们自行聚集在一起并决定重新分配礼物,使得在重新分配后,每头奶牛最终得到的是她最初得到的礼物,或者比她最初得到的礼物更喜欢的礼物。

还有一个额外的限制:如果礼物最初分配给一头奶牛,则只能将礼物重新分配给同一品种的奶牛(每头奶牛是荷斯坦牛(Holstein)或更赛牛(Guernsey)之一)。给定 ()个长为 的品种字符串,对每个字符串计算其对应的重新分配方法数。

输入格式

输入的第一行包含 。

以下 行每行包含一头奶牛的愿望单。输入保证每行均为 的一个排列。

以下一行包含 。

最后 行每行包含一个品种字符串,长度为 且仅由字符 G 和 H 组成。没有品种字符串会出现超过一次。

输出格式

对于每一个品种字符串,输出一行,包含其对应的重新分配方法数。

样例

输入
4
1 2 3 4
1 3 2 4
1 2 3 4
1 2 3 4
5
HHHH
HHGG
GHGH
HGGG
GHHG
输出
2
1
1
2
2

提示说明

【样例解释】

在这个例子中,对于第一个品种字符串,有两种可能的重新分配方式:

  • 初始的分配方式:奶牛 收到礼物 ,奶牛 收到礼物 ,奶牛 收到礼物 ,奶牛 收到礼物 。

  • 奶牛 收到礼物 ,奶牛 收到礼物 ,奶牛 收到礼物 ,奶牛 收到礼物 。

对于第二个品种字符串,与之对应的唯一重新分配方式即为初始的分配方式。

  • 测试点 14-18 满足 。

【数据规模与约定】

  • 对于 ,测试点 满足 。

  • 测试点 14-18 满足 。

供题:Benjamin Qi

输入
输出

            
答案