zoukankan      html  css  js  c++  java
  • HDU4540+DP

    简单题。。。

    dp[ i ][ j ] 表示第 i 行取第 j 个数的MinVal

    /*
    DP&简单题
    */
    #include<stdio.h>
    #include<string.h>
    #include<stdlib.h>
    #include<algorithm>
    #include<iostream>
    #include<queue>
    #include<stack>
    #include<math.h>
    #include<map>
    using namespace std;
    const int inf = 0x7fffffff;
    int mat[ 22 ][ 12 ],dp[ 22 ][ 12 ];
    int main(){
    	int n,k;
    	while( scanf("%d%d",&n,&k)==2 ){
    		for( int i=0;i<n;i++ ){
    			for( int j=0;j<k;j++ ){
    				scanf("%d",&mat[i][j]);
    				dp[i][j] = inf;
    			}
    		}
    		for( int i=0;i<k;i++ )
    			dp[0][i] = 0;
    		for( int i=1;i<n;i++ ){
    			for( int j=0;j<k;j++ ){
    				for( int j2=0;j2<k;j2++ ){
    					dp[ i ][ j ] = min( dp[ i ][ j ],dp[ i-1 ][ j2 ]+abs( mat[i][j]-mat[i-1][j2] ) );
    				}
    			}
    		}
    		int ans = inf;
    		for( int j=0;j<k;j++ )
    			ans = min( ans,dp[n-1][j] );
    			//printf("dp[%d][%d]=%d
    ",i,j,dp[i][j]);
    		printf("%d
    ",ans);
    	}
    	return 0;
    }



  • 相关阅读:
    定位 -CLGeocoder
    定位
    定位
    定位- 汽车导航
    定位
    SVN
    githubRepository -- 使用
    git 常用指令
    ipad ------ 与iPhone的差别
    总结
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3241210.html
Copyright © 2011-2022 走看看