Submission details
Task:Period
Sender:m-x-doctor
Submission time:2020-09-26 13:27:01 +0300
Language:Python3 (PyPy3)
Status:READY
Result:
Test results
testverdicttime
#1ACCEPTED0.05 sdetails
#2ACCEPTED0.05 sdetails
#3ACCEPTED0.05 sdetails
#4ACCEPTED0.05 sdetails
#5ACCEPTED0.05 sdetails
#6ACCEPTED0.05 sdetails
#7ACCEPTED0.05 sdetails
#8ACCEPTED0.05 sdetails
#9--details
#10ACCEPTED0.05 sdetails
#11ACCEPTED0.05 sdetails
#12ACCEPTED0.05 sdetails
#13ACCEPTED0.05 sdetails
#14ACCEPTED0.10 sdetails
#15ACCEPTED0.40 sdetails
#16ACCEPTED0.48 sdetails
#17--details
#18--details
#19--details
#20--details
#21--details

Code

def find_shortest_period(string):
    n = len(string)
    for i in range(1, n + 1):
        substring = string[:i]
        is_period = True
        # print(f"this is period {i}")
        for j in range(i, n, i):
            curr_substring = string[j:j+i]
            curr_len = len(curr_substring)
            if hash(substring[:curr_len]) != hash(curr_substring):
                is_period = False
                break
        if is_period:
            return substring


string = input()
print(find_shortest_period(string))

Test details

Test 1

Verdict: ACCEPTED

input
acbacbac

correct output
acb

user output
acb

Test 2

Verdict: ACCEPTED

input
a

correct output
a

user output
a

Test 3

Verdict: ACCEPTED

input
z

correct output
z

user output
z

Test 4

Verdict: ACCEPTED

input
aa

correct output
a

user output
a

Test 5

Verdict: ACCEPTED

input
az

correct output
az

user output
az

Test 6

Verdict: ACCEPTED

input
aba

correct output
ab

user output
ab

Test 7

Verdict: ACCEPTED

input
abab

correct output
ab

user output
ab

Test 8

Verdict: ACCEPTED

input
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

correct output
a

user output
a

Test 9

Verdict:

input
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

correct output
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...

user output
(empty)

Test 10

Verdict: ACCEPTED

input
ababababababababababababababab...

correct output
ab

user output
ab

Test 11

Verdict: ACCEPTED

input
tgainzxtgainzxtgainzxtgainzxtg...

correct output
tgainzx

user output
tgainzx

Test 12

Verdict: ACCEPTED

input
qmuflfcbqweunsjsodgspftyvikiwk...

correct output
qmuflfcbqweunsjsodgspftyvikiwk...

user output
qmuflfcbqweunsjsodgspftyvikiwk...

Test 13

Verdict: ACCEPTED

input
ohbsbconrkytyhtmibzrwwqdsqojoe...

correct output
ohbsbconrkytyhtmibzrwwqdsqojoe...

user output
ohbsbconrkytyhtmibzrwwqdsqojoe...
Truncated

Test 14

Verdict: ACCEPTED

input
hxkuxccasglgpvnfnhdoqelpvxughq...

correct output
hxkuxccasglgpvnfnhdoqelpvxughq...

user output
hxkuxccasglgpvnfnhdoqelpvxughq...
Truncated

Test 15

Verdict: ACCEPTED

input
mhwvddomkxrzuziwbfoaqxzjmfevla...

correct output
mhwvddomkxrzuziwbfoaqxzjmfevla...

user output
mhwvddomkxrzuziwbfoaqxzjmfevla...
Truncated

Test 16

Verdict: ACCEPTED

input
gnruvsfdjemxstfuysiqkrtwbgtono...

correct output
gnruvsfdjemxstfuysiqkrtwbgtono...

user output
gnruvsfdjemxstfuysiqkrtwbgtono...
Truncated

Test 17

Verdict:

input
xqiwjzftugyurtwsziffnqaeozescu...

correct output
xqiwjzftugyurtwsziffnqaeozescu...

user output
(empty)

Test 18

Verdict:

input
vgygtamnegxyxvjbuceoliipbkggyw...

correct output
vgygtamnegxyxvjbuceoliipbkggyw...

user output
(empty)

Test 19

Verdict:

input
qvjhmaafzlugwwaygdojysrjoydnnj...

correct output
qvjhmaafzlugwwaygdojysrjoydnnj...

user output
(empty)

Test 20

Verdict:

input
tusmizkjfdazyohorfcumwmalodvnc...

correct output
tusmizkjfdazyohorfcumwmalodvnc...

user output
(empty)

Test 21

Verdict:

input
zqikxaoeizncpvlpcvomrdkstackqq...

correct output
zqikxaoeizncpvlpcvomrdkstackqq...

user output
(empty)