일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- skt fellowship 3기
- C++
- oauth
- Spring
- google cloud
- marksense.ai
- pandas
- STT
- google login
- 양방향 매핑
- JPA
- 커스텀 데이터 학습
- Expo
- OG tag
- 코드업
- matplotlib
- javascript
- yolo
- google 로그인
- YOLOv5
- react native
- AWS
- 2021 제9회 문화공공데이터 활용경진대회
- Spring Boot
- 순환참조
- Loss Function
- @Transactional
- html
- 졸프
- idToken
Archives
- Today
- Total
민팽로그
[백준 / BOJ] 2293: 동전 1 본문
https://www.acmicpc.net/problem/2293
2293번: 동전 1
첫째 줄에 n, k가 주어진다. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10,000) 다음 n개의 줄에는 각각의 동전의 가치가 주어진다. 동전의 가치는 100,000보다 작거나 같은 자연수이다.
www.acmicpc.net
문제
n가지 종류의 동전이 있다. 각각의 동전이 나타내는 가치는 다르다. 이 동전을 적당히 사용해서, 그 가치의 합이 k원이 되도록 하고 싶다. 그 경우의 수를 구하시오. 각각의 동전은 몇 개라도 사용할 수 있다.
사용한 동전의 구성이 같은데, 순서만 다른 것은 같은 경우이다.
입력
첫째 줄에 n, k가 주어진다. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10,000) 다음 n개의 줄에는 각각의 동전의 가치가 주어진다. 동전의 가치는 100,000보다 작거나 같은 자연수이다.
출력
첫째 줄에 경우의 수를 출력한다. 경우의 수는 2^31보다 작다.
예제 입력
3 10
1
2
5
예제 출력
10
코드
#include <iostream>
using namespace std;
int n, k;
int coin[101];
int dp[10001];
int main(void) {
cin >> n >> k;
for (int i = 1; i <= n; i++) {
cin >> coin[i];
}
dp[0] = 1;
for (int i = 1; i <= n; i++) {
for (int j = coin[i]; j <= k; j++) {
dp[j] = dp[j] + dp[j - coin[i]];
}
}
cout << dp[k];
return 0;
}
하단 링크를 참조.
reference
'PS > 백준📖' 카테고리의 다른 글
[백준/BOJ] 1920: 수 찾기 (0) | 2022.03.14 |
---|---|
[백준/BOJ] 7579: 앱 (0) | 2022.03.13 |
[백준/BOJ] 2629: 양팔저울 (0) | 2022.03.02 |
[백준/BOJ] 10942: 팰린드롬? (0) | 2022.03.01 |
[백준/BOJ] 1520: 내리막 길 (0) | 2022.02.27 |
Comments