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