c语言求解动态规划算法的这道题怎么做啊,求大神!!! 200
c语言求解动态规划算法的这道题怎么做啊,求大神!!!各水源以100m³为一个单位供水,求解所需总费用最少...
c语言求解动态规划算法的这道题怎么做啊,求大神!!!各水源以100m³为一个单位供水,求解所需总费用最少
展开
1个回答
展开全部
int main()
{int n,m,ans[101][101]={0};
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
scanf("%d",&ans[i][j]);
for(int i=2;i<=n;i++)
ans[i][1]=ans[i-1][1]+ans[i][1];
for(int i=2;i<=m;i++)
ans[1][i]=ans[1][i]+ans[1][i-1];
for(int i=2;i<=n;i++)
for(int j=2;j<=m;j++)
if(ans[i-1][j]<ans[i][j-1])
ans[i][j]=ans[i-1][j]+ans[i][j];
else
ans[i][j]=ans[i][j-1]+ans[i][j];
printf("%d\n",ans[n][m]);
system ("pause");
}
{int n,m,ans[101][101]={0};
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
scanf("%d",&ans[i][j]);
for(int i=2;i<=n;i++)
ans[i][1]=ans[i-1][1]+ans[i][1];
for(int i=2;i<=m;i++)
ans[1][i]=ans[1][i]+ans[1][i-1];
for(int i=2;i<=n;i++)
for(int j=2;j<=m;j++)
if(ans[i-1][j]<ans[i][j-1])
ans[i][j]=ans[i-1][j]+ans[i][j];
else
ans[i][j]=ans[i][j-1]+ans[i][j];
printf("%d\n",ans[n][m]);
system ("pause");
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询