水题,直接上代码了

 #include<cstdio>
#include<cstring>
#include<iostream>
#include<cmath>
#include<algorithm>
#include<set>
#include<map>
#include<queue>
#include<stack>
#include<string>
#include<vector>
#define maxn
#define INF 1000000000
using namespace std;
int t,m,n;
int dp[][],fa[][],num[][];
void print(int x,int y)
{
if(x==)
{
printf("%d ",y);
return ;
} print(x-,fa[x][y]);
if(x==m)
printf("%d",y);
else
printf("%d ",y);
}
int main()
{
scanf("%d",&t);
for(int ii=;ii<=t;ii++)
{
scanf("%d %d",&m,&n);
for(int i=;i<=m;i++)
for(int j=;j<=n;j++)
scanf("%d",&num[i][j]);
for(int i=;i<=m+;i++)
for(int j=;j<=n+;j++)
dp[i][j]=INF;
for(int j=;j<=n;j++)
dp[][j]=num[][j],fa[][j]=j;
for(int i=;i<=m;i++)
{
for(int j=;j<=n;j++)
{
for(int k=;k>=-;k--)
{
if(dp[i][j]>num[i][j]+dp[i-][j+k])
{
dp[i][j]=num[i][j]+dp[i-][j+k];
fa[i][j]=j+k;
}
} //printf("%d ",dp[i][j]);
}
} int ans_max=INF;
int flag;
for(int j=n;j>=;j--)
{ if(dp[m][j]<ans_max)
{
ans_max=dp[m][j];
flag=j;
}
}
printf("Case %d\n",ii);
print(m,flag);
printf("\n");
}
return ;
}

最新文章

  1. 对C语言的知识与能力予以自评
  2. JavaScript的一些知识碎片(1)
  3. 你也可以用java的swing可以做出这么炫的mp3播放器_源码下载
  4. MacOS 10.8更新SVN到1.8.4的问题和解决方法
  5. PHP获取某年第几周的开始日期和结束日期
  6. Shell学习笔记 - Shell变量
  7. poj 3250 Bad Hair Day【栈】
  8. Android 从相冊获取近期拍摄的多张照片(获取相机拍照所存储的照片)
  9. 在PHP中连接数据库的八大步骤
  10. Wireshark使用drcom_2011.lua插件协助分析drcom协议
  11. PHP判断是手机端还是PC端
  12. 【hihoCoder 1419】重复旋律4
  13. 数据库优化案例——————某知名零售企业ERP系统
  14. 初识nginx反向代理和缓存机制
  15. UVaLive 3357 Pinary (Fib数列+递归)
  16. bzoj 2150 最小路径覆盖
  17. Windows Server上iSCSI的Best Practices
  18. Java中将InputStream读取为String, 各种方法的性能对比
  19. 变换CALayer锚点实现模拟时钟的动画
  20. JDBC(5)ResSetMetaData&amp;DatabaseMetaData&amp;获取数据库主键的值

热门文章

  1. Android统计图表MPAndroidChart.
  2. nginx查看配置文件nginx.conf路径
  3. WP8.1 Study3:WP8.1中Animation应用
  4. socket编程概述
  5. Ajax get方法 IE 下乱码
  6. iOS之沙盒机制和如何获取沙盒路径
  7. Android-LogCat日志工具(一)
  8. JS中阻止默认事件与事件冒泡
  9. Cookie 与Session 的区别(转载)
  10. druid连接池配置