Nộp bài
Điểm:
1400 (thành phần)
Thời gian:
1.0s
Bộ nhớ:
128M
Input:
STRINGROT.inp
Output:
STRINGROT.out
Tác giả:
Dạng bài
Cho một xâu s có độ dài n chỉ gồm các chữ cái la tinh thường. Định nghĩa một thao tác xoay xâu s là một thao tác biến xâu s_1s_2...s_n thành s_ns_1...s_{n-1}, hay nói cách khác, là chuyển ký tự cuối cùng của s lên đầu xâu. Gọi F_i là xâu s sau khi xoay được i thao tác. Hỏi rằng trong đa tập gồm các xâu F_0, F_1, ..., F_{n - 1}, xâu F_0 đứng thứ bao nhiêu về thứ tự từ điển (các xâu bằng nhau sẽ có thứ tự từ điển giống nhau).
Input, Output và Subtasks
Input: (STRINGROT.inp
)
- Một dòng duy nhất chứa xâu ký tự s.
Output: (STRINGROT.out
)
- Một dòng duy nhất là kết quả bài toán.
Subtasks
- Subtask 1 (20\%): Xâu s có độ dài không quá 100.
- Subtask 2 (20\%): Xâu s có độ dài không quá 1000.
- Subtask 3 (20\%): Xâu s có độ dài không quá 10000.
- Subtask 4 (20\%): Xâu s có độ dài không quá 100000.
- Subtask 5 (20\%): Xâu s có độ dài không quá 1000000.
Sample 1
Input (STRINGROT.inp
)
bca
Output (STRINGROT.out
)
2
Notes
- Ta có F_0 = bca, F_1 = cab, F_2 = abc. Do đó F_0 đứng thứ hai về thứ tự từ điển.
Sample 2
Input (STRINGROT.inp
)
baba
Output (STRINGROT.out
)
3
Notes
- Ta có F_0 = baba, F_1 = abab, F_2 = baba, F_3 = abab. Do đó F_0 đứng thứ ba về thứ tự từ điển.
Bình luận