1 条题解
-
0
C++ :
#include<iostream> #include<cstring> #include<cstdio> using namespace std; const int maxn=2010; int n,m; int a[maxn],b[maxn]; int f[maxn][maxn]; int m_min(int,int,int); void dp(); int main() { //freopen("contest.in","r",stdin); //freopen("contest.out","w",stdout); dp(); return 0; } int m_min(int x,int y,int z) { int temp=x; if(temp>y) temp=y; if(temp>z) temp=z; return temp; } void dp() { cin>>n>>m; for(int i=1;i<=n;i++) { cin>>a[i]; a[i]--; } for(int i=1;i<=m;i++) { cin>>b[i]; b[i]--; } memset(f,0x7f,sizeof(f)); f[n+1][m+1]=0; for(int i=n;i>0;i--) for(int j=m;j>0;j--) f[i][j]=m_min(f[i+1][j],f[i][j+1],f[i+1][j+1])+a[i]*b[j]; cout<<f[1][1]<<endl; }
- 1
信息
- ID
- 854
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者