Power Strings只能用多线程吗
本人不会多线程题目做不过,只能暴力拆
应该没啥逻辑错误吧
s=[]
b=""
jg=[]
flag=False
while True:
a=input()
if a==".":
break
for i in range(1,len(a)):
if len(a)%i==0:
s.append(i)
for i in s:
b=a[0:i]
flag=True
for j in range(1,int(len(a)/i)):
if a[i*j:i*(j+1)]!=b:
flag=False
break
if flag==True:
break
if i==s[-1] and flag==False:
jg.append(1)
else:
jg.append(i)
for i in jg:
print(i)
然后……(Hangup的没啥问题,我之前也遇到过但一般是测试数据多了个换行符(然后帮管理员找出了一堆坏的测试文件),就是这个超时很难受,肯定代码不够优化)
这里再附个题目
试了用正则式解,但是没有更多数据可以测试,不知道性能如何
import re
while True:
s = input()
if s=='.':break
maxlen=1
for i in range(len(s)//2):
p='(.{%d})(\\1+)' %(i+1)
r = re.findall(p,s)
if r:
for j in r:
maxlen = max(maxlen,1+len(j[1])//(i+1))
print(maxlen)