trang chủ / đề bài / dhbb23_clk_11_b

Đột biến

Đề bài

Mô tả

Các nhà sinh vật học ở Viện nghiên cứu Di truyền XYZ đang thực hiện dự án nghiên cứu về sự gần gũi giữa các loài trong quá trình tiến hóa. Phương pháp nghiên cứu của họ là chia chuỗi DNA thành các đoạn có độ dài n và so sánh các đoạn với nhau. Một loài phát triển thành loài khác thông qua đột biến di truyền.

Xét một đoạn DNA α tách được. Người ta coi α đột biến thành β nếu α=xyz với các xâu x,y,z nào đó (có thể rỗng), còn β=xyRz, trong đó yR là y viết theo trình tự ngược lại. Nói cách khác, một lần đột biến là đảo ngược một đoạn ký tự liên tiếp. Nói α gần giống β nếu α có thể biến thành β sau không quá 4 lần đột biến (kể cả 0 lần, tức là hai đoạn giống hệt nhau thì gần giống nhau).

Ví dụ, ATGAATGA gần giống AGGAATTA vì: ATGAATGA → AGTAAGTA → AGGAATTA.

Yêu cầu: Cho hai đoạn DNA cùng độ dài n, các ký tự trong DNA là A, D, G, T. Hãy xác định chúng có gần giống nhau hay không và đưa ra thông báo Similar (gần giống nhau) hoặc Different (khác nhau).

Dữ liệu vào

  • Dòng đầu tiên chứa đoạn DNA thứ nhất.
  • Dòng thứ hai chứa đoạn DNA thứ hai.

Dữ liệu ra

In ra Similar nếu hai đoạn DNA gần giống nhau, hoặc Different nếu khác nhau.

Ràng buộc

  • Hai đoạn DNA có cùng độ dài n, 1≤n≤30.
  • Mỗi ký tự là một trong bốn chữ cái in hoa A, D, G, T.

Ví dụ

Input Output Giải thích
ATGAATGAATGA
TTTAAAAAAGGG
Different Hai đoạn có cùng số chữ A, G, T nhưng cần ít nhất 5 lần đột biến để biến đoạn thứ nhất thành đoạn thứ hai.
ATGAATGA
AGGAATTA
Similar Ví dụ trong phần mô tả: đảo đoạn TGAATG (vị trí 2 đến 7) được AGTAAGTA, rồi đảo đoạn TAAG (vị trí 3 đến 6) được AGGAATTA.

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.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0