Прикреплённый файл «mccme101_ciklstr.py»
Загрузка 1 #!/usr/bin/env python
2 # coding: utf
3 '''
4 Строка S была записана много раз подряд, после чего из получившейся строки взяли подстроку и дали вам. Ваша задача определить минимально возможную длину исходной строки S. Длина подстроки не превышает 50000 символов.
5 '''
6
7 mx=50000
8 s=raw_input()
9 # Введена длина подстроки, необходимо её сгенерировать
10 if s[0] in "0123456789":
11 import random
12 SET="qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM"
13 s="".join([random.choice(SET) for i in xrange(int(s))])
14
15 S=(s*(2+mx/len(s)))[3:mx]
16 L=len(S)
17 print len(s)
18
19 # Гипотеза о длине подстроки
20 for i in xrange(1,L):
21 Match=True
22 # Проверка каждого символа в подстроке
23 for k in xrange(i):
24 # Проверка символа по всей длине
25 for j in xrange(k,L,i):
26 if S[k]!=S[j]:
27 Match=False
28 break
29 if not Match: break
30 if Match: break
31 print i
32
33 # С использованием split
34 for i in xrange(2,L):
35 trunk=S.split(S[:i])
36 if "".join(trunk) == trunk[-1] and S[:i].startswith(trunk[-1]):
37 break
38 print i
Прикреплённые файлы
Для ссылки на прикреплённый файл в тексте страницы напишите attachment:имяфайла, как показано ниже в списке файлов. Не используйте URL из ссылки «[получить]», так как он чисто внутренний и может измениться.- [получить | показать] (2011-11-13 18:39:45, 0.9 KB) [[attachment:delspace0.py]]
- [получить | показать] (2011-11-14 12:07:30, 1.3 KB) [[attachment:mccme101_ciklstr.py]]
- [получить | показать] (2011-11-13 18:23:32, 0.8 KB) [[attachment:umnoj.py]]
- [получить | показать] (2011-11-16 10:30:22, 0.6 KB) [[attachment:umnojVyshlovA.py]]
Вам нельзя прикреплять файлы к этой странице.