QOJ.ac

QOJ

Limite de temps : 1 s Limite de mémoire : 64 MB Points totaux : 10

#11033. 嵌合体 [B]

Statistiques

分子生物学家一直在研究特定生物的基因组(即基因序列),试图推断关于物种进化以及细胞和组织运作的结论。在研究中,他们比较了相应基因的结构和功能,并识别出彼此非常相似的基因(称为同源基因)。

最近,在检查攻击细菌的病毒(称为噬菌体)时,他们观察到了一种非常有趣的现象。如果将某些噬菌体的基因序列一个接一个地排列,并将同源基因涂上相同的颜色,就会得到一种奇特的马赛克图案:

为了描述他们发现的现象,科学家们发明了一种度量标准,称之为马赛克系数。该系数仅在将某个噬菌体与其他噬菌体并列时才能计算——它等于通过以下方式计算出的总分。对于第 $i$ 个噬菌体中的任意两个基因 $A$ 和 $B$,以及任意两个不同的噬菌体 $j$ 和 $k$,如果满足以下条件:

  • 基因 $A$ 在第 $j$ 个噬菌体中有同源基因,而在第 $k$ 个噬菌体中没有同源基因,
  • 基因 $B$ 在第 $k$ 个噬菌体中有同源基因,而在第 $j$ 个噬菌体中没有同源基因,

则第 $i$ 个噬菌体($i \neq j$ 且 $i \neq k$)获得 1 分。每个四元组 $A, B, j, k$ 在求和中仅被计算一次,即四元组 $A, B, j, k$ 和 $B, A, k, j$ 被视为相同。

在上图所示的情况下,3 号噬菌体的马赛克系数为 2。这是因为蓝色基因在 1 号噬菌体中有同源基因,而在 2 号噬菌体中没有;另一方面,橙色基因在 2 号噬菌体中有同源基因,而在 1 号噬菌体中没有。棕色基因和橙色基因的情况类似。1 号噬菌体的马赛克系数为 6——它因以下基因对而得分:红色-蓝色、红色-棕色、2 次黄色-蓝色以及 2 次黄色-棕色。

手动计算这些系数相当困难,因此生物学家决定请你编写一个程序来计算所有给定噬菌体的马赛克系数。

编写一个程序,完成以下任务:

  • 从标准输入读取一组噬菌体中同源基因对的描述,
  • 计算所有噬菌体的马赛克系数,
  • 将结果写入标准输出。

输入格式

输入的第一行包含一个整数 $n$ ($3 \le n \le 300$),表示所考虑的噬菌体数量。

接下来的 $n$ 行中,第 $i$ 行包含第 $i$ 个噬菌体的基因序列描述。每个描述以一个整数 $l_{i}$ ($1 \le l_{i} \le 300$) 开头,表示该噬菌体序列中的基因数量,随后是 $l_{i}$ 个整数 $a_{ij}$ ($1 \le a_{ij} \le 100\,000$),描述其连续的基因。所有这些数字均以空格分隔。

当且仅当两个基因在输入描述中由相同的数字表示时,它们被认为是同源的。科学家们证明,同一个噬菌体中不会有两个基因是同源的$^{1}$,因此同一个数字不会在单个噬菌体的描述中出现两次。

$^{1}$实际上,在单个噬菌体中出现两个同源基因的可能性极小。

输出格式

输出应包含 $n$ 行。第 $i$ 行应包含一个整数,等于第 $i$ 个噬菌体的马赛克系数。

样例

输入 1

4
4 1 5 2 4
3 3 6 4
3 5 2 6
3 4 3 1

输出 1

6
3
2
1

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.