网站的内容包括什么,网站源码怎么下载,西部数码网站备案查询,人力资源管理师题意#xff1a;给定一个n*m的矩阵#xff0c;从第一列任意位置向右#xff0c;右下#xff0c;右上走一格#xff0c;可以循环#xff0c;要求经过的数字的和最小。 思路#xff1a;记忆化搜索。每次有三个状态#xff0c;从这三个状态中选择出最优的一个#xff0c;…题意给定一个n*m的矩阵从第一列任意位置向右右下右上走一格可以循环要求经过的数字的和最小。 思路记忆化搜索。每次有三个状态从这三个状态中选择出最优的一个然后状态累加保存路径。 code #include bits/stdc.h
using namespace std;const int N11;
const int M105;
#define ft(i,s,t) for (int is;it;i)
#define frt(i,t,s) for (int it;is;i--)
int g[N][M],s[N][M];int main()
{int n,m,t,tt;while (~scanf(%d %d,n,m)){ft(i,0,n-1) ft(j,0,m-1) scanf(%d,g[i][j]);frt(j,m-2,0) ft(i,0,n-1){int bt(in-1)%n;if (g[i][j1]g[bt][j1]||g[i][j1]g[bt][j1]bti) bti; //右上和直走的最优解int t(i1)%n;if (g[t][j1]g[bt][j1]||g[t][j1]g[bt][j1]btt) btt;//右下和全部g[i][j]g[bt][j1];s[i][j]bt; //状态记忆和保存路径}int pn-1;frt(i,n-2,0) if (g[p][0]g[i][0]) pi;int ansg[p][0];ft(i,0,m-2){printf(%d ,p1);ps[p][i];}printf(%d\n%d\n,p1,ans);}
}