SP10074 GENETIC2 - Genetics

题目描述

最近在新墨西哥州的一个陨石坑附近发现了一群外星细菌。Poucher 博士领导的 ICPC 生物实验室研究团队致力于探究这些外星 DNA 的结构。我们在这里简要介绍他们的发现。 这些外星 DNA 分子呈现为环形的序列,每个序列由核苷酸构成。共有 26 种不同类型的核苷酸,每种核苷酸可以有两种不同的面。在任何特定的外星 DNA 分子中,每个核苷酸要么完全不出现,要么正好出现两次(因此,DNA 分子的长度为 2 到 52 之间的偶数)。如果出现两次,每次的面可以是任意的两种。外星细菌具有两种末端,分别称为「臂」和「腿」。Poucher 博士的团队通过观察 DNA 结构,找到了一种确定细菌臂和腿数量的方法。 我们用字母表示每个核苷酸,如 a, A, … z, Z,其中小写和大写分别代表核苷酸的两种面;也可以用 a/A, b/B, … z/Z 表示任意面的一种。 为确定末端数量,Poucher 博士首先将臂和腿的计数器初始化为零,然后通过一系列手术将一个 DNA 序列转化为另一个。每次转换后,根据手术类型可能需要增加计数器。到达空序列(记作 ∅)时,即可得出原始分子的末端数量。具体的手术有: 1. 消除连续、相反面的核苷酸。臂和腿的数量不变。例如:aBbCaC 消除 Bb 得到 aCaC;DeHhEd 消除 dD 得到 eHhE。注意,DNA 结构为环形,因此字符串的首尾字母是相连的。 2. 消除连续、同一面的核苷酸,并将臂的数量增加 1。例如:BBcgCg 消除 BB 得到 cgCg;xabyyaBX 消除 yy 得到 xabaBX。 3. 消除由两种不同核苷酸交替且异面出现的四个核苷酸序列,并将腿的数量增加 1。例如:dcDCefFe 消除 dcDC 得到 efFe;cmNMnC 消除 mNMn 得到 cC。 4. 剪切和粘贴,这是一种复杂的操作。首先,选择一个核苷酸 a/A,并将 DNA 序列切成两段,使该核苷酸各出现一次。如果两次出现面相同,反转其中一条链并反转其核苷酸的面。假设链 S,S' 为它的“反转”链。 接下来,将 a 前的子序列与 A 后的子序列连接,以及将 a 后的子序列与 A 前的子序列连接。 最后,添加两个新的 a/A 核苷酸形成环,面相同或不同根据原对面决定。 例如,选中核苷酸 a/A,形式为 S1aS2S3aS4(或 S1AS2S3AS4)的序列将变为 S2aS1S3aS4(或 S2AS1S3AS4)。若 a/A 异面,形式 S1aS2S3AS4 变为 S2aS1S4AS3。S1, S2, S3, S4 是任意子链(可为空)。两种情况中,环形链切为 S1(a/A)S2 和 S3(a/A)S4。 比如:对序列 BacDcAbD,得到链 BacDc 和 AbD。在 a/A 处合并,生成 cDca'BbDA',a' 和 A' 表示新核苷酸。此处,S1 = B, S2 = cDc, S3 = ∅, S4 = bD。 另一个例子,序列 BacDcAbD,切得链 DBac 和 DcAb;粘贴核苷酸 c/C 时需反转一链,如 BaCd,生成 cDBadcBa。此处,S1 = DBa, S2 = ∅, S3 = D, S4 = Ab。 **本翻译由 AI 自动生成**

输入格式

输出格式