trang chủ / đề bài / cownomicss

Gen bò (Silver)

Đề bài

Mô tả

Trang trại có N con bò đốm và N con bò trơn. Bộ gen của mỗi con bò là một xâu gồm đúng M ký tự, mỗi ký tự là một trong bốn chữ cái A, C, G, T.

Nhà nghiên cứu muốn tìm xem những vị trí nào trong bộ gen quyết định việc một con bò có đốm hay không. Chọn ra 3 vị trí phân biệt và chỉ nhìn vào 3 ký tự ở các vị trí đó của mỗi con bò. Bộ 3 vị trí này được gọi là giải thích được nếu không có con bò đốm nào và con bò trơn nào cho ra cùng một bộ 3 ký tự.

Hãy đếm số bộ 3 vị trí phân biệt giải thích được. Hai bộ chỉ khác nhau về thứ tự các vị trí được coi là một.

Dữ liệu vào

  • Dòng 1: hai số nguyên N và M.
  • N dòng tiếp theo: bộ gen của N con bò đốm.
  • N dòng tiếp theo: bộ gen của N con bò trơn.

Dữ liệu ra

Một số nguyên: số bộ 3 vị trí giải thích được.

Ràng buộc

  • 1≤N≤500
  • 3≤M≤50

Ví dụ

Input Output Giải thích
3 8
AATCCCAT
GATTGCAA
GGTCGCAA
ACTCCCAG
ACTCGCAT
ACTTCCAT
22 Có (83)=56 bộ ba vị trí, trong đó 22 bộ giải thích được. Chẳng hạn bộ (1,2,3) cho bò đốm các bộ ký tự AAT, GAT, GGT và cho bò trơn đều là ACT, không trùng nhau nên giải thích được. Ngược lại bộ (6,7,8) cho bò đốm CAT và bò trơn CAT nên không giải thích được.
1 3
AAA
CCC
1 Chỉ có một bộ ba vị trí, và hai con bò khác nhau ở cả ba vị trí.
1 3
ACG
ACG
0 Hai con bò có bộ gen giống hệt nhau nên không bộ vị trí nào phân biệt được.

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