C언어/문제풀다 하나씩
음료 포인트 계산하기 쉬움.
mcdn
2020. 6. 4. 20:09
반응형
#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원 같이 값나오기 전까진 포인트 계산 못하는게 특징이니까 주의해야
반응형