Mạch DNA

Đề bài

Mô tả

Cho mạch mã gốc DNA bốn loại nucleotide A, T, G, C. Để tiết kiệm bộ nhớ, mạch mã gốc đã được nén lại thành một chuỗi S gồm các cặp là số lần xuất hiện liên tiếp nucleotide và loại nucleotide tương ứng.

Ví dụ: Mạch mã gốc AAACAATGGGGA nén thành 3A1C2A1T4G1A.

Các nucleotide ở hai mạch của phân tử DNA liên kết với nhau theo nguyên tắc bổ sung, trong đó A liên kết với T, G liên kết với C. Do vậy, nếu biết trình tự nucleotide trên một mạch có thể suy ra trình tự của mạch còn lại.

Ví dụ: Một đoạn phân tử DNA ở sinh vật nhân thực có trình tự nucleotide trên mạch mã gốc là AAACAATGGGGA. Trình tự nucleotide trên mạch bổ sung của đoạn DNA này là: TTTGTTACCCCТ.

Cho một chuỗi ký tự S mô tả mạch mã gốc DNA sau khi đã nén. Hãy lập trình xác định mạch bổ sung của mạch mã gốc sau khi giải nén.

Dữ liệu vào

Một chuỗi S có độ dài không vượt quá 1000. Dữ liệu đảm bảo chuỗi sau khi giải nén có độ dài không vượt quá 105.

Dữ liệu ra

Chuỗi ký tự là mạch bổ sung của mạch mã gốc sau khi giải nén.

Ràng buộc

  • Độ dài chuỗi S không vượt quá 1000.
  • Chuỗi sau khi giải nén có độ dài không vượt quá 105.

Ví dụ

Input Output Giải thích
5A2G1A11T1C TTTTTCCTAAAAAAAAААG Mạch mã gốc sau khi giải nén là: AAAAAGGATTTTTTTTTTTC. Mạch bổ sung là: TTTTTCCTAAAAAAAAААG.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0