问题描述
规定公交车的出发点和终点,要求途径站点,载人数最多,对于公交车的载人数不限。
算法分析
若M[i][j]记录载人数,在公交车行驶过程中,同步更新标记矩阵,得到出站人数最多。
对于初矩阵在站点坐标记录等车的人数,其余坐标为零。对于i和j来说,当i,j均为零的时候,车为出发点,载人数自然就是M[0][0];当仅i为零时,由于规定车只能朝下或者向右走,所以M[i][j]则只有来自左边的站点而没有上面的站点和当前结点的人数,即M[i][j]=M[i][j-1]+M[i][j];同理可得当j为0时,M[i][j]站点的人数,列出动态方程为下所示:
M[i][j]=Max(M[i][j-1],M[i-1][j])+M[i][j];
void zairen(int n,int m,int M[][10]){
int i,j;
for(i=0;i<n;i++){
for(j=