编程题
### 问题描述 农夫小齐有 $N$ 份礼物,标号为1到$N$,分别准备给他的 $N$ 头奶牛,它们的标号也是1到$N$。每头奶牛都有一个心仪的礼物顺序,这个顺序是1到$N$的一个排列,表示她更喜欢排在前面的礼物而不是排在后面的。 小齐有些懒,所以他只是简单地将第 $i$ 个礼物分配给第 $i$ 头奶牛。现在,奶牛们聚在一起商量,决定重新分配礼物,使得每头奶牛最终得到的礼物要么与她最初分到的一样,要么更受她喜爱。 但是,还有一个额外的限制:一个礼物只能重新分配给同类型的奶牛(每头奶牛要么是荷斯坦种,要么是格恩西种)。给定 Q 个长度为 N 的品种字符串($1 \leq Q \leq \min(10^5, 2N)$),对于每个字符串,计算与之一致的重新分配数量。 ### 输入格式 第一行包含整数 $N$。 接下来的 $N$ 行,每行包含一头奶牛的礼物偏好列表。保证每行的数字是1到$N$的一个排列。 接下来一行包含整数 $Q$。 接下来的 $Q$ 行,每行包含一个品种字符串,长度为 $N$,仅包含字符 $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 ``` ### 评测数据规模 $1 \leq N \leq 18$。
查看答案
赣ICP备20007335号-2