如题
听了讲解瞬间写出代码,dp是真难,以后要养成习惯
#include<iostream>
using namespace std;
int a[4][1005];
int main(int argc, char const *argv[])
{
int n=1000;
int m=3;
for(int j=1;j<=3;j++)
for(int i=1;i<=n;i++)
{
a[j][i]=i;
}
for(int i=2;i<=m;i++)
for(int j=1;j<=1000;j++)
{
a[i][j]=1000;
for(int k=2;k<=j;k++)
a[i][j]=min(a[i][j],max(1+a[i][j-k],1+a[i-1][k-1]));
}
cout<<a[3][1000]<<endl;
return 0;
}