Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 31 |
Tags
- 수학
- baekjoon
- 실버 5
- 로보틱스
- 텔레스코픽로봇
- C++
- baekjoon problem solving
- lqr
- 문자열
- 백준
- mathematics for computer science
- 로봇공학
- LeggedRobot
- 구현
- 다리로봇
- 실버 4
- HJB방정식
- std::sort
- BOJ
- 집합과 맵
- 최적제어
- 논문리뷰
- 자료구조
- 정렬
- MIT opencourse
- 전국 대학생 수학 경시대회
- 대수경
- mit
- 6.042j
- 큐
Archives
- Today
- Total
서두르지 말고 쉬지 말자
백준 2775번 부녀회장이 될테야(C++) 본문
문제 해결 방안 : 동적 계획법을 이용해서 해결했다.
문제 해결 소감 : 동적 계획법을 이용해서 처음 문제를 풀어봤다. 역시 끙끙 앓는 것보다 이미 나와있는 좋은 걸 빨리 흡수하는게 좋은 것 같다. 대충 찾아보니 새로운 다 구하지 말고 이미 구한 건 재활용해서 실행시간을 줄이는 게 동적 계획법의 특징인 것 같다. 자세한 건 공부해서 블로그에 한번 올려야 겠다.
#include <iostream>
#include <vector>
int T = 0;
int k = 0, n = 0; // 1<=k,n<=14
int arr[15][14] = {
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
}; // a층 b호는 arr[a][b-1]임
int floor(int k, int n) // k행 n열이 실제로 궁금한 값
{
if (arr[k][n] != 0)
{
return arr[k][n];
}
arr[k][n - 1] = floor(k, n - 1);
arr[k - 1][n] = floor(k - 1, n);
arr[k][n] = arr[k][n - 1] + arr[k - 1][n];
return arr[k][n];
}
int main()
{
std::cin >> T;
for (int i = 0; i < T; ++i)
{
std::cin >> k >> n; // k층 n호
std::cout << floor(k, n - 1) << '\n';
}
return 0;
}반응형
'코딩 공부 > Baekjoon Problem Solving' 카테고리의 다른 글
| 백준 1074번 Z (C++) (0) | 2025.03.06 |
|---|---|
| 백준 2609번 최대공약수와 최소공배수(C++) (0) | 2025.02.12 |
| 백준 2108번 통계학(C++) (3) | 2025.02.08 |
| 백준 10989번 수 정렬하기 3(C++) (3) | 2025.01.14 |
| 백준 2751번 수 정렬하기 2(C++) (1) | 2025.01.14 |
