1418: PIPI的藏宝图

这是一道关于PIPI寻找藏宝图中所有宝物并返回起点的最短路径问题。PIPI从坐标(sx, sy)出发,每次只能往四个方向移动。给定k个宝物的位置坐标,需要找出并返回所有宝物后回到起点的最短距离。通过将坐标排序并全排列,计算每种情况下的路径长度,最终选取最短路径。" 4694939,463003,自定义银行家算法实现,"['算法', '资源管理', '系统安全', 'C++编程', '操作系统']
摘要由CSDN通过智能技术生成

题目描述

PIPI获得了一份藏宝图,上面记载了k个宝物的地点,PIPI想去把他们全部都收集起来。
已知PIPI从(sx,sy)出发,每次只能往上下左右四个方向走一步,当他收集完所有的宝藏还需返回出发地点。
请问,PIPI收集完宝藏并返回出发点所需要走的最短路程是多少?

输入

第一行输入三个正整数sx,sy,k,其中sx,sy<=10^9,k<=10。
接下来k行,每行两个正整数xi,yi(xi,yi<=10^9),表示第i个宝物在(xi,yi)。

输出

输出PIPI收集完宝藏并返回出发点所需要走的最短路程。

样例输入

1 1 4
2 3
5 5
9 4
6 5

样例输出

24

思路:将所有坐标按照先x后y的顺序排序,然后进行全排列,枚举每一种情况时的ans的大小,取最小值
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll sx,sy,k;
const ll INF=1e18;
pair<ll,ll> pr[12];
int 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值