zoukankan      html  css  js  c++  java
  • 动态规划2

    有一个矩阵map,它每个格子有一个权值。从左上角的格子开始每次只能向右或者向下走,最后到达右下角的位置,路径上所有的数字累加起来就是路径和,返回所有的路径中最小的路径和。 给定一个矩阵map及它的行数n和列数m

    #include <algorithm>
    #include <iostream>
    using namespace std;
    
    #include <vector>
    
    int MinimumPath(int n, int m){
    
        vector<vector<int>> a(n, vector<int>(m));
        vector<vector<int>> b(n+1, vector<int>(m+1));
    //初始化各个位置的值
        for (int i = 0; i < n; i++){
            for (int j = 0; j < m; j++){
    
                if (i == 0 && j == 0){
                    a[i][j] = 1;
                }
                else if (j == 0){
                    a[i][j] = a[i - 1][m - 1] + 1;
                }
                else{
                    a[i][j] = a[i][j-1] + 1;
                }
                cout << a[i][j] << "   ";
            }
            cout << endl;
        }
    
    // 每一个位置的值 都等于它前一个位置+要到达的位置。
        for (int i = 0; i < n; i++){
            for (int j = 0; j < m; j++){
                if (i == 0 && j == 0){
                    b[i+1][j+1] = a[i][j];
                }
                else{
                    b[i+1][j+1] = min(b[i + 1][j] + a[i][j], b[i][j + 1] + a[i][j]);
                }
    
            }
        }
        return b[n][m];
    }
    
    int main(void)
    {
        cout << MinimumPath(10, 10) << endl;;
    
    }

     

  • 相关阅读:
    android 调试Installation failed with message INSTALL_FAILED_USER_RESTRICTED: Install canceled by user.
    selenium 调用方法
    正则去除空行
    tmux用法
    win10专业版激活
    11.17
    git reset,git checkout区别
    git reset revert区别
    python多线程,守护线程
    win7 32位安装 mong0db
  • 原文地址:https://www.cnblogs.com/yuguangyuan/p/5841704.html
Copyright © 2011-2022 走看看