AT_genocon2021_a.Practice 1

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

ss 是一个由字母 A、C、G、T 组成的长度为 NN 的字符串。ss 的第 ii 个字符记作 s[i]s[i](1≤i≤N1 \leq i \leq N)。现在,定义 A、C、G、T 四个字母的互补字符:A 的互补字符为 T,T 的互补字符为 A,C 的互补字符为 G,G 的互补字符为 C。对于任意字符 aa,其互补字符记作 R(a)R(a)。

对于字符串 ss,其逆互补链序列定义如下:R(s[N]), R(s[N−1]),..., R(s[2]), R(s[1])R(s[N]),\ R(s[N-1]),...,\ R(s[2]),\ R(s[1])。

例如,AACGT 的逆互补链序列为 ACGTT。

请对于输入的 mm 个字符串 s1s_1,...,sms_m,分别输出它们的逆互补链序列。

输入格式

输入以如下格式从标准输入给出:

mm s1s_1 s2s_2 ...... sms_m

输出格式

请输出每个输入字符串的逆互补链序列。每个逆互补链序列占一行,输出顺序与输入字符串顺序一致。

输入输出样例

  • 输入#1

    6
    CATAGAACGACTATT
    TA
    GCGGCTTTTTGAAGCGT
    TACCTTGATCA
    GGCGTGCATAG
    T

    输出#1

    AATAGTCGTTCTATG
    TA
    ACGCTTCAAAAAGCCGC
    TGATCAAGGTA
    CTATGCACGCC
    A

说明/提示

限制条件

  • s1s_1,...,sms_m 均为由 A、C、G、T 组成的字符串。
  • 1≤m≤1001 \leq m \leq 100。
  • 1≤∣s1∣, …, ∣sm∣≤10001 \leq |s_1|,\ \ldots,\ |s_m| \leq 1000(字符串 xx 的长度记作 ∣x∣|x|)。

问题背景

※ 本项内容非解题必读,仅为出题背景,有兴趣者可阅读。

DNA 与碱基序列

生物体所需的遗传信息保存在 DNA 中。那么,DNA 是如何携带遗传信息的呢?

由核苷酸链状连接而成的物质称为单链 DNA。DNA 是由两条长度相同且互为对应关系的单链 DNA 结合形成的螺旋结构物质。这里首先介绍单链 DNA。构成单链 DNA 的每个核苷酸都含有一个碱基。碱基有腺嘌呤(adenin)、胞嘧啶(cytosin)、鸟嘌呤(guanine)、胸腺嘧啶(thymine)四种。因此,从链的一端依次读取各核苷酸的碱基,可以将其视为由四种符号组成的序列。由于链的两端可根据核苷酸结构分别称为 5' 末端和 3' 末端,一般从 5' 端到 3' 端的方向读取符号并视为序列。**这个序列称为 DNA 序列、碱基序列或基因组序列等。**序列的每个元素用碱基的首字母表示。例如如下图所示,从 5' 末端到 3' 末端依次为腺嘌呤、胞嘧啶、胞嘧啶、胸腺嘧啶,则记作 ACCT。

DNA 的结构与逆互补链

单链 DNA 的每个碱基都具有与特定其他碱基结合的性质。具体来说,腺嘌呤(A)与胸腺嘧啶(T)结合,胞嘧啶(C)与鸟嘌呤(G)结合。构成 DNA 的两条链,其碱基排列使得相对的碱基都能结合,因此两条链不会分离,能够形成双螺旋结构。需要注意的是,两条链的方向是相反的。下图中,下方的链从 5' 末端到 3' 末端依次为腺嘌呤(A)、胞嘧啶(C)、胸腺嘧啶(T)、鸟嘌呤(G)。上方的链从 5' 末端到 3' 末端依次为胞嘧啶(C)、腺嘌呤(A)、鸟嘌呤(G)、胸腺嘧啶(T),每个碱基都与下方链的对应碱基结合。

对于形成双螺旋的一条链,另一条链称为逆互补链。如图例所示,下方链的碱基序列为 ACTG,其逆互补链(上方链)的碱基序列为 CAGT。(注意不是 TGAC。)由于两条链的碱基排列互为对应,DNA 可以说是以双份形式保存相同信息。生物体还具备根据一条链修复另一条链损伤的机制。

因此,DNA 的遗传信息可以根据读取哪一条链而用两种不同的碱基序列表达。例如,DNA 某一部分记作 AGGC 时,其逆互补链的碱基序列 GCCT 也可视为相同的信息。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页