Submission #731062

# Submission time Handle Problem Language Result Execution time Memory
731062 2023-04-26T21:24:34 Z Boomyday Palindrome-Free Numbers (BOI13_numbers) PyPy 3
26.6667 / 100
71 ms 19844 KB
a, b = map(int, input().split())




dp = [[[0 for i in range(11)] for i in range(11)] for i in range(20)]
dp[0][10][10] = 1


for dig in range(1, 19):

    for cur in range(10):
        for prev in range(11):
            if cur == prev:

                continue
            for prev2 in range(11):
                if prev2 == cur:

                    continue
                dp[dig][cur][prev] += dp[dig-1][prev][prev2]


## dig = 1


##d = 5


"""
ans = 1
for dig in range(1, d+1):
    for cur in range(1, 11):
        for prev in range(11):
            ans += dp[dig][cur][prev]

"""


def solve(x):

    if x == 0:
        return 0
    ans = 1
    x = list(str(x))

    for dig in range(1, len(x)):
        for cur in range(1, 11):
            for prev in range(11):
                ans += dp[dig][cur][prev]

    #print(ans)

    chk = [11,11]
    for i, ch in enumerate(x):
        #if i == len(x)-1:   continue
        d = len(x) - i

        #print(d, ch)
        val = int(ch)
        for cur in range(0, val):
            if chk[-1] == chk[-2] and chk[-1] != 11: continue
            if chk[-1] == 11 and cur == 0:
                continue
            if cur == chk[-1] or cur == chk[-2]:
                continue
            for prev in range(11):
                if prev == chk[-1]: continue
                ans += dp[d][cur][prev]

        #print(ans)
        chk[-2] = chk[-1]
        chk[-1] = val

    return ans


print(solve(b+1)-solve(a))


"""
ans_brute = 0

for n in range(a, b+1):
    st = str(n)
    is_pal = False

    for l in range(len(st)):
        for r in range(l+2, len(st)+1):
            if st[l:r] == st[l:r][::-1]:
                is_pal = True

    if not is_pal:
        ans_brute+=1


print(ans_brute)
#print(ans, ans_brute)"""







# Verdict Execution time Memory Grader output
1 Correct 48 ms 19404 KB Output is correct
2 Correct 49 ms 19364 KB Output is correct
3 Incorrect 51 ms 19664 KB Output isn't correct
4 Correct 47 ms 19440 KB Output is correct
5 Correct 53 ms 19376 KB Output is correct
6 Correct 52 ms 19456 KB Output is correct
7 Correct 54 ms 19356 KB Output is correct
8 Correct 62 ms 19376 KB Output is correct
9 Correct 54 ms 19384 KB Output is correct
10 Correct 62 ms 19376 KB Output is correct
11 Correct 56 ms 19388 KB Output is correct
12 Correct 54 ms 19336 KB Output is correct
13 Correct 60 ms 19424 KB Output is correct
14 Correct 53 ms 19388 KB Output is correct
15 Correct 47 ms 19368 KB Output is correct
16 Incorrect 55 ms 19596 KB Output isn't correct
17 Correct 68 ms 19552 KB Output is correct
18 Correct 51 ms 19348 KB Output is correct
19 Incorrect 51 ms 19576 KB Output isn't correct
20 Incorrect 53 ms 19388 KB Output isn't correct
# Verdict Execution time Memory Grader output
1 Incorrect 51 ms 19596 KB Output isn't correct
2 Incorrect 71 ms 19624 KB Output isn't correct
3 Incorrect 52 ms 19660 KB Output isn't correct
4 Incorrect 53 ms 19672 KB Output isn't correct
5 Correct 56 ms 19520 KB Output is correct
6 Incorrect 59 ms 19580 KB Output isn't correct
7 Incorrect 51 ms 19516 KB Output isn't correct
8 Incorrect 50 ms 19604 KB Output isn't correct
9 Incorrect 56 ms 19440 KB Output isn't correct
10 Correct 48 ms 19388 KB Output is correct
11 Incorrect 56 ms 19600 KB Output isn't correct
12 Incorrect 51 ms 19556 KB Output isn't correct
13 Incorrect 48 ms 19580 KB Output isn't correct
14 Correct 71 ms 19592 KB Output is correct
15 Incorrect 50 ms 19560 KB Output isn't correct
16 Incorrect 55 ms 19700 KB Output isn't correct
17 Incorrect 57 ms 19648 KB Output isn't correct
18 Incorrect 56 ms 19776 KB Output isn't correct
19 Incorrect 58 ms 19680 KB Output isn't correct
20 Incorrect 57 ms 19724 KB Output isn't correct
21 Incorrect 58 ms 19648 KB Output isn't correct
22 Incorrect 58 ms 19612 KB Output isn't correct
23 Incorrect 56 ms 19616 KB Output isn't correct
24 Incorrect 64 ms 19732 KB Output isn't correct
25 Incorrect 58 ms 19824 KB Output isn't correct
26 Incorrect 54 ms 19696 KB Output isn't correct
27 Incorrect 54 ms 19652 KB Output isn't correct
28 Incorrect 52 ms 19700 KB Output isn't correct
29 Incorrect 51 ms 19624 KB Output isn't correct
30 Incorrect 54 ms 19696 KB Output isn't correct
31 Correct 51 ms 19628 KB Output is correct
32 Incorrect 52 ms 19716 KB Output isn't correct
33 Incorrect 50 ms 19644 KB Output isn't correct
34 Incorrect 54 ms 19624 KB Output isn't correct
35 Incorrect 53 ms 19708 KB Output isn't correct
36 Incorrect 53 ms 19616 KB Output isn't correct
37 Incorrect 53 ms 19668 KB Output isn't correct
38 Incorrect 51 ms 19640 KB Output isn't correct
39 Incorrect 51 ms 19612 KB Output isn't correct
40 Incorrect 51 ms 19656 KB Output isn't correct
41 Incorrect 54 ms 19844 KB Output isn't correct
42 Incorrect 52 ms 19620 KB Output isn't correct
43 Incorrect 54 ms 19684 KB Output isn't correct
44 Incorrect 51 ms 19724 KB Output isn't correct
45 Incorrect 52 ms 19672 KB Output isn't correct