본문 바로가기
백준 11054 C++ #include using namespace std;typedef long long ll;int n;int arr[1010];int dp[1010][2]; //first = index, second [0] = 현재 위치가 가장 낮은 지점일 때의 수, [1] = 현재가 가장 높은 지점일 떄의 수.int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); fill(&dp[0][0], &dp[0][0] + 1010 * 2, 1); cin >> n; for (int i = 1; i > arr[i]; } //cout 0; j--) { //자신보다 이전에.. 2025. 4. 1.
백준 10844 C++ #include using namespace std;typedef long long ll;//길이가 n인 계단수 -> n=2인 경우 10,12,21,23,32,34,43,45,54,56 // 65,67,78,76,87,89,98 // 1의 경우 1,2,3,4,5,6,7,8,9 이런 느낌 ㅇㅇint n;int divNum = 1e9;int dp[110][10];int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> n; dp[1][0] = 0; for (int i = 1; i = 0) dp[i + 1][j - 1] = (dp[i + 1][j - 1] + dp[i][j]) % divNum; if (j + 1 기본 아이디어는 0.. 2025. 3. 30.
백준 1932 C++ #include using namespace std;int n;//현재 층에서 선택된 수의 대각선 왼쪽 또는 대각선 오른쪽에 있는 것 중에서만 선택할 수 있다.// = arr로 봤을 땐 i or i+1 이다.int arr[510][510];int dp[510][510];int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> n; for (int i = 1; i > arr[i][j]; } } dp[1][1] = arr[1][1]; for (int i = 1; i 다음 층에 있는건 현재 index와 index + 1이기에 다음과 같이 해서 성공했다. 2025. 3. 27.
백준 1149 C++ #include using namespace std;struct HomeStruct{ int r=0; int g=0; int b=0;};//주변 집(-1, + 1)의 색과 같지 않아야한다.int n;HomeStruct arr[1010];int dp[1010][3];int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> n; int r, g, b; for (int i = 1; i > r >> g >> b; arr[i].r = r; arr[i].g = g; arr[i].b = b; //첫 색깔을 칠했을 때의 최소값. dp[i][0] = min(dp[i - 1][1] + r, dp[i - 1][2] + r); dp[i][1.. 2025. 3. 27.
백준 1940 C++ #include using namespace std;int n; //> n; cout 간단하게 생각할 수 있는 문제였다. 2025. 3. 27.
백준 11066 C++ #include using namespace std;int testCase;int n;int arr[510];int sum[510];int dp[510][510];int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> testCase; while (testCase--) { cin >> n; for (int i = 1; i > arr[i]; //dp[i][i] = arr[i]; sum[i] = sum[i - 1] + arr[i]; //누적합 } for (int len = 1; len 처음엔 (dp[start][mid] + dp[mid+1][end] ) * 2라고 생각했는데이건 전체의 합을 나타내야하는데 dp는 최.. 2025. 3. 26.