ํฐ์คํ ๋ฆฌ ๋ทฐ
728x90
๋ฐ์ํ
๋ฌธ์
๋ฌธ์ ํ์ด
๊ดํธ์ ๋ฌธ์์ด์ด ์ฃผ์ด์ง ๋, ์ฌ๋ฐ๋ฅธ ๊ดํธ์ธ์ง ์ฐพ๋ ๋ฌธ์ ์ด๋ค. ์ด ๋ฌธ์ ๋ `DP`๋ก๋ ํ ์ ์์ง๋ง, ์นดํ๋ ์๋ก๋ ํ ์ ์๋ค. ์นดํ๋ ์๋ ์ด์งํธ๋ฆฌ์ ์๋ฅผ ์ ๋ ์ฌ์ฉํ๋ ์์ด์ด๋ค. ์นดํ๋ ์๋ฅผ ํ์ด์ฌ ์ฝ๋๋ก ๋ํ๋ด๋ฉด `factorial(2 * num) // (factorial(num) * factorial(num + 1))`์ด๋ค. ์ด๋ฅผ ํตํด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ค.
์ฝ๋
from math import factorial
from sys import stdin
def catalan(num):
return factorial(2 * num) // (factorial(num) * factorial(num + 1))
if __name__ == '__main__':
t = int(stdin.readline())
for _ in range(t):
n = int(stdin.readline())
if n % 2 != 0:
print(0)
continue
print(catalan(n // 2) % 1000000007)
728x90
๋ฐ์ํ
'๐จโ๐ป ์ฝ๋ฉํ ์คํธ > ๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฐฑ์ค: 2493 ํ (0) | 2021.03.10 |
---|---|
๋ฐฑ์ค: 1966 ํ๋ฆฐํฐ (0) | 2021.03.09 |
๋ฐฑ์ค: 14426 ์ ๋์ฌ ์ฐพ๊ธฐ (0) | 2020.10.27 |
๋ฐฑ์ค: 14425 ๋ฌธ์์ด ์งํฉ (0) | 2020.10.27 |
๋ฐฑ์ค: 1305 ๊ด๊ณ (0) | 2020.10.27 |
๋๊ธ
๊ธ ๋ณด๊ดํจ
์ต๊ทผ์ ์ฌ๋ผ์จ ๊ธ
์ต๊ทผ์ ๋ฌ๋ฆฐ ๋๊ธ