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원 같이 값나오기 전까진 포인트 계산 못하는게 특징이니까 주의해야

 

 

 

 

Bar at the Folies-Bergère, Manet

 

반응형