# w,h=input().split()
# w=int(w)
# h=int(h)
# i=int()
# j=int()
# data=[]
# for i in range(w+2):
# v=[0]*(h+2)
# data.append(v)
# n=int(input())
# for i in range(n):
# l,d,x,y=input().split()
# l=int(l)
# d=int(d)
# x=int(x)
# y=int(y)
# if d==0 :
# for j in range(l):
# data[x][y]=1
# y+=1
# else :
# for j in range(l):
# data[x][y]=1
# x+=1
#
# for i in range(1,w+1):
# for j in range(1,h+1):
# print(data[i][j],end=' ')
# print()
# n=int(input())
# def tri(a):
# t = int(0)
# for i in range (1,a) :
# for j in range (i,a) :
# if i>a-i-j or j>a-i-j :
# continue
# if i+j>a-i-j :
# t+=1
# return t
# x=tri(n)
# print(x)
# a,b,c=input().split()
# a=int(a)
# b=int(b)
# c=int(c)
# def f(x,y,z,w) :
# t=int()
# for i in range(1,w+1):
# if (x%i==0) and (y%i==0) and (z%i==0):
# t=i
# return t
# min = int(1000)
# min = (((a) if (a<min) else (min)) if (((a) if (a<min) else (min))<b) else b) if ((((a) if (a<min) else (min)) if (((a) if (a<min) else (min))<b) else b)<c) else (c)
# g=f(a,b,c,min)
# print(g)
n=int(input())
s=int(0)
def f(k,l):
t=int(0)
if l==0 or k/l==2 :
return 1
if l==1:
return k-1
if (k-1)/l==2 :
return f(k-1,l)+f(k-2,l-1)
else :
for i in range((l-1)*2,k-1):
t+=f(i,l-1)
return t
for i in range(n//2+1):
if n==1:
s+=1
break
s+=f(n,i)
print(s%100000007)
top of page

기능을 테스트하려면 라이브 사이트로 이동하세요.
240124
240124
댓글 0개
좋아요
댓글(0)
bottom of page