ํฐ์คํ ๋ฆฌ ๋ทฐ
๐ฉ๐ป๐ป ๋ฌธ์
1010๋ฒ: ๋ค๋ฆฌ ๋๊ธฐ
์ ๋ ฅ์ ์ฒซ ์ค์๋ ํ ์คํธ ์ผ์ด์ค์ ๊ฐ์ T๊ฐ ์ฃผ์ด์ง๋ค. ๊ทธ ๋ค์ ์ค๋ถํฐ ๊ฐ๊ฐ์ ํ ์คํธ์ผ์ด์ค์ ๋ํด ๊ฐ์ ์์ชฝ๊ณผ ๋์ชฝ์ ์๋ ์ฌ์ดํธ์ ๊ฐ์ ์ ์ N, M (0 < N ≤ M < 30)์ด ์ฃผ์ด์ง๋ค.
www.acmicpc.net
โ๐ป ํ์ด
๐จ Go
// https://www.acmicpc.net/problem/1010
package main
import (
"bufio"
"fmt"
"os"
)
var (
dp [][]int
)
func main() {
reader := bufio.NewReader(os.Stdin)
writer := bufio.NewWriter(os.Stdout)
defer writer.Flush()
var t int
fmt.Fscanln(reader, &t)
dp = make([][]int, 31)
for i := 0; i < len(dp); i++ {
dp[i] = make([]int, 31)
}
for i := 0; i < t; i++ {
var n, m int
fmt.Fscanln(reader, &n, &m)
fmt.Fprintln(writer, combi(m, n))
}
}
func combi(m, n int) int {
if m == n || n == 0 {
return 1
}
if dp[m][n] != 0 {
return dp[m][n]
}
dp[m][n] = combi(m-1, n) + combi(m-1, n-1) // ์กฐํฉ์ ์ฑ์ง, ํ์ค์นผ์ ์ผ๊ฐํ ํ์ฉ.
return dp[m][n]
}
๐จ Python3
# https://www.acmicpc.net/problem/1010
import sys
dp = [[0]*31 for _ in range(31)]
def combi(m, n):
if m == n or n == 0:
return 1
if dp[m][n] != 0:
return dp[m][n]
dp[m][n] = combi(m-1, n) + combi(m-1, n-1)
return dp[m][n]
if __name__ == "__main__":
t = int(sys.stdin.readline())
for i in range(t):
n, m = list(map(int, sys.stdin.readline().split()))
print(combi(m, n))
728x90
'dev > algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
BOJ / 15828๋ฒ / Router [Go][Python3] (0) | 2021.03.11 |
---|---|
BOJ / 17212๋ฒ / ๋ฌ๋๋ผ ํ ๋ผ๋ฅผ ์ํ ๊ตฌ๋งค๋๊ธ ์ง๋ถ ๋์ฐ๋ฏธ [Go][Python3] (0) | 2021.03.10 |
BOJ / 8394๋ฒ / ์ ์ [Go][Python3] (0) | 2021.03.08 |
BOJ / 13699๋ฒ / ์ ํ์ [Go][Python3] (0) | 2021.03.07 |
BOJ / 16395๋ฒ / ํ์ค์นผ์ ์ผ๊ฐํ [Go][Python3] (0) | 2021.03.06 |
๋๊ธ
๊ธ ๋ณด๊ดํจ
์ต๊ทผ์ ๋ฌ๋ฆฐ ๋๊ธ
TAG
- ๋ธ๋ฃจํธํฌ์ค
- AWS
- Golang
- Algorithm
- ์ด๋ถํ์
- BFS
- ์๊ณ ๋ฆฌ์ฆ
- java
- Macbook pro 2012 mid 13
- dp
- ๋ชฝ๊ณ ๋๋น
- ์๊ฐ๊ต์ฒด
- baekjoon
- ๋ฐฑ์ค
- ์๋ฐ
- ์คํ
- MongoDB
- ํ
- ํด์๋งต
- go
- python3
- ํ๋ก์ด๋์์ฌ
- ๋งฅ๋ถ
- dfs
- ๋งฅ๋ถํ๋ก
- ๋ถํ ์ ๋ณต
- ๋งฅ๋ถ ์ ๊ทธ๋ ์ด๋
- ballet
- ๋ฐ๋
- BOJ
- Total
- Today
- Yesterday