반응형
#include <iostream>
using namespace std;
int n;
struct node {
int mony;
int poit;
};
node que[5] = { 500,30,700,10,600,30,300,40,400,20 };
int maxs = -21e7;
void dfs(int n, int lev,int start, int summ, int pnt) {
if (lev == n) {
int many = 10000 / summ;
int total = pnt * many;
if (maxs < total) {
maxs = total;
}
return;
}
for (int i = start; i < 5;i++) {
dfs(n, lev + 1, i + 1, summ + que[i].mony, pnt + que[i].poit);
}
}
int main() {
cin >> n;
dfs(n, 0, 0, 0, 0);
cout << maxs;
}
max라고만 쓰면 다른 모듈의 max함수랑 헷갈리더라..
이문제에서 1200원 같이 값나오기 전까진 포인트 계산 못하는게 특징이니까 주의해야
반응형
'C언어 > 문제풀다 하나씩' 카테고리의 다른 글
링크드리스트 int 넣기 myalloc함수 만들어서 넣기 (0) | 2020.06.23 |
---|---|
링크드리스트 건너건너 출력하기 (0) | 2020.06.23 |
메모리 풀로 링크드리스트 만들기 (3) | 2020.06.23 |
runtimeerror 나서 틀린 문제 고기 뒤집기 OXOOX (0) | 2020.06.04 |
주변도 같이 사라지는 배열에서 재귀구현 노가다 (0) | 2020.05.29 |
trial and error! 연산자 순열 문제 (0) | 2020.05.29 |
경로 찾기 장애물 있고 (0) | 2020.05.29 |
등수일때는 index-1하기 (0) | 2020.05.27 |