[Buổi 24][Hàm tiền tố & KMP][HW] Bài 1: Các viền của mã phiên


LÀM BÀI

Points: 100
Time limit: 2.0s
Memory limit: 256M

Author:
Problem types

Các viền của mã phiên

Bối cảnh và bài toán

Một giao thức truyền tin dùng cùng một đoạn đầu và đoạn cuối của mã phiên để kiểm tra tính liên tục. Một độ dài được coi là hợp lệ nếu tiền tố có độ dài đó cũng chính là hậu tố của toàn chuỗi, nhưng không được lấy toàn bộ chuỗi.

Yêu cầu

Liệt kê mọi độ dài k sao cho tiền tố độ dài k bằng hậu tố độ dài k và k < |s|.

Input

Một dòng chứa chuỗi s.

Output

In các độ dài hợp lệ theo thứ tự tăng dần, cách nhau bởi dấu cách. Nếu không có, in dòng trống.

Ràng buộc

  • 1 <= |s| <= 10^6
  • s chỉ gồm chữ cái thường a..z.

Chấm điểm

Subtask Điểm Điều kiện Official tests
S1 20% |s| <= 200 01–04
S2 30% |s| <= 10^4 05–10
S3 50% Không có ràng buộc bổ sung 11–20

Ví dụ 1

Input

abcababcab

Output

2 5

Giải thích. Các tiền tố ab và abcab đồng thời là hậu tố.

Ví dụ 2

Input

abcd

Output


Giải thích. Không có tiền tố khác toàn chuỗi đồng thời là hậu tố.

Thông tin bài tập

Thuộc tính Giá trị
Mã bài DSA-M08-B24-HW01
Buổi B24
Loại bài HOMEWORK
Mức độ khó Trung bình (Medium)
Thời gian làm bài khuyến nghị 35 phút
Time limit 2 giây
Memory limit 256 MB
Tổng điểm 100
Chuẩn ngôn ngữ tham chiếu C++11 trở lên

Nguồn: Phỏng theo / Adapted from: CSES Problem Set – Finding Borders – Finding Borders (1732).


Comments

There are no comments at the moment.

Zalo