96592024-02-23 18:17:18NagyLeoToronyépítés (1,1,3,3)python3Időlimit túllépés 38/50232ms13312 KiB
from sys import setrecursionlimit, stdout

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

stdout.write(str(main()))
RészfeladatÖsszpontTesztVerdiktIdőMemória
base38/50
1Elfogadva0/017ms11108 KiB
2Elfogadva0/017ms11632 KiB
3Elfogadva3/318ms11816 KiB
4Elfogadva3/317ms11892 KiB
5Elfogadva4/417ms12292 KiB
6Elfogadva4/417ms12492 KiB
7Időlimit túllépés0/4232ms12524 KiB
8Elfogadva4/443ms12588 KiB
9Elfogadva4/417ms12784 KiB
10Elfogadva4/417ms12856 KiB
11Elfogadva4/461ms13044 KiB
12Időlimit túllépés0/4231ms13104 KiB
13Időlimit túllépés0/4206ms13312 KiB
14Elfogadva4/490ms13152 KiB
15Elfogadva2/217ms13276 KiB
16Elfogadva2/217ms13184 KiB