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 |
Tags
- kb it's your life 기자단
- KB국민은행
- 취업교육
- 이차원배열
- 반별이벤트
- autohotkey
- 금융권it
- 전문가특강
- sql
- 첫알고리즘평가
- kb it's your life 6기
- 금융권 it
- prefixsum #C언어
- sql내장함수
- kb네트워킹캠프
- SQLD
- 멀티캠퍼스
- 부트캠프
- kb 기자단
- 오토핫키
- kb취업교육
- kb 취업교육
- kb it's your life
- kbit교육
- SQL데이터타입
- 금융권 부트캠프
- 알고리즘
Archives
- Today
- Total
지식보부상님의 공부 일지
SWEA 3752번: 가능한 시험 점수 (dp 이용) 본문
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
[문제]
영준이는 학생들의 시험을 위해 N개의 문제를 만들었다.
각 문제의 배점은 문제마다 다를 수 있고, 틀리면 0점 맞으면 배점만큼의 점수를 받게 된다.
학생들이 받을 수 있는 점수로 가능한 경우의 수는 몇 가지가 있을까?
예를 들어, 첫 번쨰 Testcase의 경우, 총 문제의 개수는 3개이며 각각의 배점은 2, 3, 5점이다
가능한 시험 점수의 경우의 수를 살펴보면 0, 2, 3, 5, 7, 8, 10의 7가지가 있다.
두 번째 Testcase의 경우, 총 문제의 개수는 10개이며 각각의 배점은 모두 1점이다.
가능한 시험점수의 경우의 수를 살펴보면 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10으로 모두 11가지이다.
[입력]
첫 번째 줄에 테스트 케이스의 수 T가 주어진다.
각 테스트 케이스의 첫 번째 줄에는 자연수 N(1 ≤ N ≤ 100)이 주어진다.
두 번째 줄에는 각 문제의 배점을 의미하는 N개의 자연수가 공백으로 구분되어 주어진다. 배점은 1이상 100이하의 자연수이다.
[출력]
각 테스트 케이스마다 학생들이 받을 수 있는 점수의 경우의 수를 출력한다.
[입출력 예시]
![]() |
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main() {
int tc;
scanf("%d", &tc);
for (int i = 1; i <= tc; i++) {
//문제 수 입력 받기
int prob_num;
scanf("%d", &prob_num);
//점수 입력 받기
int prob[100];
int max_score = 0;
for (int j = 0; j < prob_num; j++) {
scanf("%d", &prob[j]);
max_score += prob[j];
}
//score[i]는 i점이 가능하면 1, 불가하면 0을 의미
int score[10000] = { 0, };
score[0] = 1;
//dp로 해결하기
// k-prob[j] 점이 가능하면 k점도 가능하고, 이미 k점이 가능하면 당연히 k점 가능함
for (int j = 0; j < prob_num; j++) {
for (int k = max_score; k >= prob[j]; k--) {
score[k] = score[k] || score[k - prob[j]];
}
}
//가능한 점수의 개수 세기
int ans = 0;
for (int j = 0; j <= max_score; j++) {
if (score[j])
ans++;
}
printf("#%d %d\n", i, ans);
}
return 0;
}
'C언어 문제풀이' 카테고리의 다른 글
SWEA 2819번: 격자판의 숫자 이어 붙이기 (dfs 이용) (0) | 2024.11.17 |
---|---|
백준 1012번: 유기농배추 (dfs 이용, 재귀함수) (0) | 2024.11.16 |
백준 7576번: 토마토 (bfs 이용) (0) | 2024.11.16 |
SWEA 1249번: [S/W 문제해결 응용] 4일차 - 보급로 (heap 이용) (0) | 2024.11.14 |
에러 함수 (0) | 2024.11.14 |