9657 2024. 02. 23 18:12:12 NagyLeo Toronyépítés (1,1,3,3) python3 Időlimit túllépés 38/50 234ms 13220 KiB
import sys

sys.setrecursionlimit(10**9)

memo={}

def main2():
    N = int(input())

    def torony(magassag):
        if magassag == 0:
            return 0
        if magassag == 1:
            return 2
        if magassag == 2:
            return 4
        if magassag == 3:
            return 8+2
        if magassag in memo:
            return memo[magassag]
        res=0
        res += 2*torony(magassag-1)
        if magassag >= 3:
            res += 2*torony(magassag - 3)
        memo[magassag]=res%20210108
        return res%20210108

    print(torony(N))

#main2()

def main():

    N = int(input())

    if N == 0:
        return 0
    if N == 1:
        return 2
    if N == 2:
        return 4
    if N == 3:
        return 8+2
    a,b,c=2,4,10
    for i in range(N-3):
        # 2 ,4 ,10 , ?
        # 2*10+2*2=24
        a,b,c=b,c,(2*c+2*a)%20210108
    return c

print(main())
Részfeladat Összpont Teszt Verdikt Idő Memória
base 38/50
1 Elfogadva 0/0 17ms 11432 KiB
2 Elfogadva 0/0 18ms 11780 KiB
3 Elfogadva 3/3 17ms 11708 KiB
4 Elfogadva 3/3 18ms 12108 KiB
5 Elfogadva 4/4 17ms 12140 KiB
6 Elfogadva 4/4 17ms 12316 KiB
7 Időlimit túllépés 0/4 234ms 12384 KiB
8 Elfogadva 4/4 45ms 12532 KiB
9 Elfogadva 4/4 17ms 12548 KiB
10 Elfogadva 4/4 17ms 12360 KiB
11 Elfogadva 4/4 61ms 12792 KiB
12 Időlimit túllépés 0/4 231ms 12940 KiB
13 Időlimit túllépés 0/4 208ms 13220 KiB
14 Elfogadva 4/4 90ms 13096 KiB
15 Elfogadva 2/2 17ms 13008 KiB
16 Elfogadva 2/2 17ms 13128 KiB