CSES - Datatähti 2022 alku - Results
Submission details
Task:Ositus
Sender:T
Submission time:2021-10-17 20:07:50 +0300
Language:Python3 (CPython3)
Status:READY
Result:65
Feedback
groupverdictscore
#1ACCEPTED40
#2ACCEPTED25
#30
Test results
testverdicttimegroup
#1ACCEPTED0.06 s1, 2, 3details
#2ACCEPTED0.11 s1, 2, 3details
#3ACCEPTED0.10 s1, 2, 3details
#4ACCEPTED0.10 s1, 2, 3details
#5ACCEPTED0.46 s2, 3details
#6--3details
#7--3details

Code

# Datatahti 2022 alku
# Ositus (Partitioning)
# @author TRS
MOD = 1000000007
MX = 1000001
partitions = [0] * MX
appeared = [False] * MX
def partitioning(s):
    s = "." + s
    partitions[0] = 1
    for i in range(1, len(s)):
        appeared = [False] * MX
        for j in range(i, 0, -1):
            if (appeared[ord(s[j]) - ord('a')]):
                break
            appeared[ord(s[j]) - ord('a')] = True
            partitions[i] += partitions[j - 1]
            partitions[i] %= MOD
s = input()
if (len(s) == 1):
    print(1)
else:
    partitioning(s)
    print(partitions[len(s)])

Test details

Test 1

Group: 1, 2, 3

Verdict: ACCEPTED

input
a

correct output
1

user output
1

Test 2

Group: 1, 2, 3

Verdict: ACCEPTED

input
abcdefghij

correct output
512

user output
512

Test 3

Group: 1, 2, 3

Verdict: ACCEPTED

input
abcabaacbc

correct output
120

user output
120

Test 4

Group: 1, 2, 3

Verdict: ACCEPTED

input
aaxxxxxxaa

correct output
4

user output
4

Test 5

Group: 2, 3

Verdict: ACCEPTED

input
mfyzvoxmppoxcvktmcjkryyocfweub...

correct output
643221148

user output
643221148

Test 6

Group: 3

Verdict:

input
weinscqmmpgbrlboocvtbptgbahmwv...

correct output
831644159

user output
(empty)

Test 7

Group: 3

Verdict:

input
sxaoxcyrjoeieyinaqxwukgzdnhhsw...

correct output
816016015

user output
(empty)