CCF201709-1打酱油(动态规划)

 1 #include<iostream>
 2 using namespace std;
 3 int max(int a,int b){
 4     return a>b?a:b;
 5 }
 6 int cnt(int n){
 7     if(n<30){
 8         return n/10;
 9     }
10     else if(n<50){
11         return 4+(n-30)/10;
12     }
13     else{
14         return  max(cnt(n-30)+4,cnt(n-50)+7);
15     }
16 }
17 int main(){
18     int n;
19     cin>>n;
20     cout<<cnt(n)<<endl;
21     return 0;
22 } 
问题描述
  小明带着N元钱去买酱油。酱油10块钱一瓶,商家进行促销,每买3瓶送1瓶,或者每买5瓶送2瓶。请问小明最多可以得到多少瓶酱油。
输入格式
  输入的第一行包含一个整数N,表示小明可用于买酱油的钱数。N是10的整数倍,N不超过300。
输出格式
  输出一个整数,表示小明最多可以得到多少瓶酱油。
样例输入
40
样例输出
5
posted @ 2017-10-27 14:23  双鱼水天一线  阅读(373)  评论(0编辑  收藏  举报