zoukankan      html  css  js  c++  java
  • E寻宝(贪心)

    Description

    在一维坐标轴上有许多宝藏,总共n种宝藏,每种宝藏有k个。现在共k个人寻宝,k个人初始位置可以位于任意点。但是每人需要按指定顺序捡起宝藏(1->2->3->…->n,先捡第1种,再捡第2种。。。最后捡第n种宝藏,每种宝藏捡起一个)。每个人要捡起n个宝藏。现在你自己规划好k个人的初始位置与寻宝路线(一个宝藏只能被一个人捡起),求k个人所走路程的和最短是多少。

    Input

    第一行两个整数:n,k接下来n行,每行k个整数x,表示宝藏在一维坐标轴上的位置。

    (1<=n<=100)

    (1<=k<=8)

    (-1000,000,000<=x<=1000,000,000)

    Output

    输出一个数最短的距离和

    Sample Input 1

    2 3
    -1 1 3
    -2 2 4
    Sample Output 1

    3
    Hint

    样例解释:

    第一个人:从-1到-2

    第二个人:从1到2

    第三个人:从3到4

    Source

    2019年集训队选拔赛

    思路:贪心,待补

    #include <iostream>
    #include <cstdio>
    #include <algorithm>
    #include <cmath>
    #define ll long long
    ll n,m,b[1000][1000]={0};
    using namespace std;
    int main(){
    	while (~scanf("%lld%lld",&n,&m)){
    		for (ll i=0;i<n;i++){
    			for (ll j=0;j<m;j++){
    				scanf("%lld",&b[i][j]);
    			}
    			sort(b[i],b[i]+m);
    
    		}
    		ll ans=0;
    		for (ll i=1;i<n;i++){
    			for (ll j=0;j<m;j++){
    				ans+=abs(b[i][j]-b[i-1][j]);
    			}
    		}
    
    		printf("%lld
    ",ans);
    	}
    	return 0;
    }
    
    
  • 相关阅读:
    PAT 天梯赛 L1-002 【递归】
    HDU_2717_Catch That Cow
    Stock Exchange (最大上升子子串)
    Lorenzo Von Matterhorn(map的用法)
    Ignatius and the Princess IV (简单DP,排序)
    投掷硬币(概率dp)
    Find The Multiple (DFS递归)
    24 Game
    棋盘问题
    linux上的文件服务
  • 原文地址:https://www.cnblogs.com/tomjobs/p/10617586.html
Copyright © 2011-2022 走看看