Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

HAM12 - VOI 2012 Khoảng cách Hamming




Các phân tử trong tế bào sinh học được cấu tạo từ 4 loại nuclêôtit cơ bản ký hiệu bởi các chữ cái A, X, T, G. Mỗi gen di truyền được cấu tạo thành bởi một chuỗi các nuclêôtit với độ dài được tính bằng số lượng nuclêôtit. Ví dụ, AXXTTGAT là một gen có độ dài 8.

Trong một chuyến đi khảo sát, Giáo sư Altein phát hiện ra một gen lạ gồm n nuclêôtit được xếp trên một vòng tròn. Ngay lập tức, Giáo sư Altein dự định tiến hành so sánh gen lạ này với một số gen mẫu đang lưu trữ nhằm tìm hiểu xem mẫu gen này có gần gũi với loại gen mẫu nào đã được biết. Trong sinh học để đo độ khác biệt giữa hai mẫu gen người ta thường tính khoảng cách Hamming giữa chúng. Khoảng cách Hamming giữa hai gen cùng độ dài được định nghĩa là số lượng vị trí mà tại đó hai gen chứa các nuclêôtit khác nhau. Ví dụ, hai gen AGGTT và TGATT có khoảng cách Hamming bằng 2 do 2 nuclêôtit ở các vị trí 1 và 3 của chúng là khác nhau. Do các gen mẫu được sử dụng đều có độ dài m (m ≤ n) và có cấu trúc thẳng, trong khi gen lạ lại có độ dài n và có cấu trúc vòng nên Giáo sư Altein đã định nghĩa khoảng cách Hamming giữa một gen mẫu và gen lạ là số nhỏ nhất trong số các khoảng cách Hamming giữa gen mẫu và những đoạn gen gồm m nuclêôtit liên tiếp theo chiều kim đồng hồ trong gen lạ.

Yêu cầu: Cho k gen mẫu, hãy xác định gen mẫu với khoảng cách Hamming đến gen lạ là nhỏ nhất và đưa ra khoảng cách tìm được.

Ràng buộc: 50% số tests ứng với 50% số điểm của bài có n ≤ 100.

Input

  • Dòng thứ nhất chứa ba số nguyên dương n, m, k (m ≤ n ≤ 1000; k ≤ 100).
  • Dòng thứ hai chứa xâu độ dài n là dãy các nuclêôtit của gen lạ được liệt kê theo chiều kim đồng hồ bắt đầu từ một vị trí nào đó.
  • Dòng thứ i trong số k dòng tiếp theo chứa xâu độ dài m biểu diễn gen mẫu thứ i.

Output

Ghi ra một số nguyên là khoảng cách Hamming nhỏ nhất tìm được.

Example

Input:
7 3 2
GTAAXXT
GAT
TTT Output: 1

Được gửi lên bởi:VOJ Team
Ngày:2012-01-18
Thời gian chạy:0.400s
Giới hạn mã nguồn:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Ngôn ngữ cho phép:Tất cả ngoại trừ: ASM64 GOSU PERL6 PYPY RUST SED
Nguồn bài:VOI 2012

hide comments
2014-12-24 04:20:09 ChienTran
O(n*m*k) + cận => 70đ -_-
2014-12-11 14:45:30 The Legendary Tiger (NDHD)
90đ sửa giới hạn là ac ngay :v
2014-12-06 14:54:06 [$Zeus$]
Vãi thật :v thấy các bác cmt em cũng code bừa cách O(n*m*k) lên mà 1 phát AC ngay. CÓ khi nào test yếu.
2014-10-15 11:14:54 Võ Xuân Minh Tuấn
(n*m*k) ac bác ạ :(
Còn k đặt cận nữa!

Last edit: 2014-10-15 11:15:19
2014-09-15 15:58:23 ∞Skyscraper∞
Đù quên ko cho string lên vô hạn, cứ đi ktra thuật toán @@
2014-09-09 17:53:17 ■■‡[ND] Bee Sociu■■‡
Ngon =))))))))
2014-05-22 06:09:38 Thcs Ðặng Chánh Kỷ
1 code accept: xử lý xâu cơ bản
2014-05-22 06:05:20 [GOD]
Aceppt: O(n*m*k) 0 ac được đâu
2014-05-19 18:11:40 Thần Ðồng Mẫu Giáo
cận là gì thế :))
2014-05-18 16:55:00 Kraken
Bài này đặt cận ntn nhỉ?
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.