22.cpp
来自「第1章 算法引论 第2章 递归与分治策略 第3章 动态规划 第4章 贪心算」· C++ 代码 · 共 35 行
CPP
35 行
#include<iostream.h>
#include<math.h>
int m[100][100]={0};
int f(int i,int j)
{
if(m[i][j]>0) return m[i][j];
if(i<3&&j<2||i<=0)
return m[i][j]=2*i+5*j;
if(i>=3&&j<2)
return m[i][j]=f(i-3,j)+5;
if((0<i&&i<3)&&j>=2)
return m[i][j]=f(i-1,j-2)+10;
if(i>=3&&j>=2)
{
int y1=f(i-3,j)+5;
int y2=f(i-1,j-2)+10;
if(y1>y2)
return m[i][j]=y2;
else
return m[i][j]=y1;
}
}
void main()
{
int q,p;
cout<<"请输入花和花瓶数:";
cin>>q>>p;
cout<<f(q,p);
for(int i=0;i<=q;i++)
for(int j=0;j<=p;j++)
cout<<m[i][j]<<endl;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?