Nộp bài | Các bài nộp | Làm tốt nhất | Về danh sách bài |
P193SUMJ - Chuyến đi ra biển |
Time limit: 1s
Sắp tới là Oppa và Unnie sẽ có một chuyến đi xa ra biển. Để tiết kiệm tiền mua xăng thì Oppa đã nghiên cứu một mẫu xăng sinh học có tên Isobutanol được tạo bởi hoạt động sinh hóa của dòng vi khuẩn Clostriduim cellulolyticum. Trong quá trình nghiên cứu Oppa cần so sánh độ tương đồng của ADN vi khuẩn thực tế và lý tưởng. Cách so sánh như sau:
Với hai chuổi ADN là S, T độ dài n, độ tương đồng của hai chuỗi ADN là số vị trí giống nhau khi so khớp hai xâu shift(S, i) và shift(T, j) với (0 ≤ i, j ≤ n – 1).Với shift(S, i) là phép dịch trái i lần của xâu S.
Cho trước một xâu S độ dài n, hỏi có bao nhiêu xâu T cùng độ dài thỏa mãn độ tương đồng là lớn nhất. (Kết quả lấy dư cho 109+7)
Input
Dòng đầu tiên gồm 1 số nguyên n (1 ≤ n ≤ 105) là số độ dài chuỗi. Dòng tiếp theo là n kí tự của xâu S.
Output
Một số nguyên duy nhất là kết quả của bài toán.
Example
Giải thích : Có 4 xâu thỏa mãn là AA, AT, TA, TT
Input
Output
2
AT
4
Được gửi lên bởi: | adm |
Ngày: | 2019-07-27 |
Thời gian chạy: | 1s |
Giới hạn mã nguồn: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Ngôn ngữ cho phép: | ASM32-GCC ASM32 ASM64 MAWK BC C CSHARP C++ 4.3.2 CPP CPP14 COFFEE LISP sbcl DART FORTH GO JAVA JS-RHINO JS-MONKEY KTLN OCT PAS-GPC PAS-FPC PERL PERL6 PROLOG PYTHON PYTHON3 PY_NBC R RACKET SQLITE SWIFT UNLAMBDA |