Logo
(追記) (追記ここまで)

29011번 - Экзамен в Британской разведке 다국어

시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 1024 MB75571.429%

문제

Финн Максмисл --- агент Британской разведки. Любой агент разведки обязан быть готов к самым непредвиденным ситуациям и уметь в считанные секунды решить любую поставленную задачу. Кроме чисто физических нормативов, на выпускном экзамене разведывательной академии требуют умения решать и сложные алгоритмические задания --- мало ли, что пригодится в жизни? Финну досталась следующая:

Дана строка $s$ длины $n$. Назовем ее $k$-разбиваемой, если ее можно разбить на $k$ непрерывных подстрок равной длины так, что любую подстроку из любой другой можно получить циклическим сдвигом. Нужно найти все $k,ドル что строка $s$ --- $k$-разбиваемая.

Поскольку в разведке все методы хороши, агент Финн решил попросить помощи у вас.

Строка $s$ называется циклическим сдвигом строки $t,ドル если существуют такие (возможно, пустые) строки $u, v,ドル что $t = uv$ и $s = vu$.

입력

В первой строке дана строка $s$ (1ドル \le |s| \le 200,000円$), состоящая из строчных латинских букв.

출력

В первой строке выведите число $m$ --- количество подходящих чисел $k$.

Во второй строке выведите через пробел $m$ подходящих чисел $k_i,ドル отсортированных по возрастанию.

제한

예제 입력 1

abbabaab

예제 출력 1

3
1 2 4

예제 입력 2

abbababa

예제 출력 2

2
1 4

노트

В первом примере можно оставить строку как есть, разбить на две строки <<abba>> и <<baab>> (несложно убедиться, что они могут быть получены друг из друга циклическим сдвигом), или разбить на четыре строки <<ab>>, <<ba>>, <<ba>> и <<ab>>, которые так же могут быть получены друг из друга циклическим сдвигом.

출처

Olympiad > Russian Olympiad in Informatics > Internet Olympiads in Informatics > 2015-2016 Season > October 3, 2015 C번

(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /