【动态规划】数字三角形模型:最低通行费_ios

 

【动态规划】数字三角形模型:最低通行费_ci_02

#include<iostream>
using namespace std;
int grid[101][101];
int dp[101][101];
int n;
int main(){
    cin>>n;
      for(int i=0;i<n;i++){
          for(int j=0;j<n;j++)
          cin>>grid[i][j];
      }
      dp[0][0]=grid[0][0];
      for(int i=1;i<n;i++){
          dp[i][0]=dp[i-1][0]+grid[i][0];
      }
      for(int j=1;j<n;j++){
          dp[0][j]=dp[0][j-1]+grid[0][j];
      }
      for(int i=1;i<n;i++){
          for(int j=1;j<n;j++){
              dp[i][j]=min(dp[i-1][j],dp[i][j-1])+grid[i][j];
          }
      }
      cout<<dp[n-1][n-1]<<endl;
      
    
    return 0;

}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.