티스토리 뷰
https://www.acmicpc.net/problem/1010
1010번: 다리 놓기
입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 강의 서쪽과 동쪽에 있는 사이트의 개수 정수 N, M (0 < N ≤ M < 30)이 주어진다.
www.acmicpc.net
d[i][j] : 서쪽의 i개의 사이트, 동쪽의 j개의 사이트일때 다리를 놓을수 있는 경우의 수
d[1][1] = 1
d[1][2] = 2
d[1][3] = 3
d[1][4] = 4
d[2][1]은 동쪽의 사이트의 수가 서쪽의 사이트의 수보다 크거나 같다고 했으므로 고려할필요 없다.
d[2][2] = 1
d[2][3]은? 서쪽의 첫번째 사이트를 동쪽의 첫번째 사이트에 연결하면, 나머지는 서쪽에 1개, 동쪽에 2개가 남는다 즉 d[1][2]와 같다
또한 서쪽의 첫번째 사이트를 동쪽의 두번째 사이트에 연결하면, 서쪽에 1개 동쪽에 1개가 남는다 (다리는 교차될수 없으므로).
즉 점화식은 d[i][j] = d[i-1][j-1] + d[i-1][j-2] + ... + d[i-1][1]
'PS' 카테고리의 다른 글
백준 14503. 로봇 청소기 (0) | 2022.03.12 |
---|---|
백준 2293. 동전 1 (0) | 2022.03.10 |
백준 1300. K번째 수 (0) | 2022.03.09 |
백준 1939. 중량제한 (0) | 2022.03.09 |
백준 12015. 가장 긴 증가하는 부분수열2, 3 (0) | 2022.03.09 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- back tracking
- Stack
- DP
- greedy
- db
- Kruskal
- BFS
- Spring
- Python
- Dijkstra
- C
- Tree
- 재귀
- permutation
- C++
- MVC
- Unity
- Implementation
- floyd warshall
- Brute Force
- priority queue
- dfs
- 조합
- graph
- 자료구조
- recursion
- 이분탐색
- CSS
- two pointer
- binary search
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
글 보관함