TYVJ 1288 飘飘乎居士取能量块
背景
9月21日,pink生日;9月22日,lina生日;9月23日,轮到到飘飘乎居士(狂欢吧,(^__^) 嘻嘻……)。
描述
9月21日,今天是pink的生日,飘飘乎居士当然要去别人的领土大闹一番啦!
为了收集更多的能量到pink家大闹,飘飘乎居士准备从后花园中取出自己多年积攒的p个能量块。后花园一共被划分n个地区,能量块被分散在里面,现在飘飘乎居士拿出地图,发现自己站在1的地方,而他要做的就是用最短的路程把所有的能量块取出,并且最后走到位于n的出口处,而飘飘乎居士一直是个懒人,他想知道最少要走多少路程才能够取到所有的能量块,并且走到出口
输入格式
第一行一个正整数n,表示花园被划分成了n个地区
接下来一个n*n的矩阵,代表个点之间的相互距离,数据保证从i走到i没有路程
在下来一个整数p,表示一共有p个能量块
接下来一行,表示各个能量块的位置,数据保证1和n没有能量块,且每个地区最多一个能量块
对于所有的数据 0< n<=100 0<=P<=10 任意两点的距离为一个小于1000的正整数
输出格式
一个数,飘飘乎居士所要行走的最小距离
测试样例1
输入
3
0 10 1
3 0 5
1 2 0
1
2
输出
7
备注
花园被分为3个地区,在2号地区有能量块,飘飘乎居士行走的路线如下
1->3->2->1->3
行走的总路程为7,也就是最后的答案。
思路:
(感谢lyd学长的幻灯片)
//By: Sirius_Ren
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int a[105][105],b[105],n,p,minn=0x3fffffff;
int main(){scanf("%d",&n);for(int i=1;i<=n;i++)for(int j=1;j<=n;j++)scanf("%d ",&a[i][j]);for(int k=1;k<=n;k++)for(int i=1;i<=n;i++)for(int j=1;j<=n;j++)a[i][j]=min(a[i][j],a[i][k]+a[k][j]);scanf("%d",&p);for(int i=1;i<=p;i++)scanf("%d",&b[i]);sort(b+1,b+p+1);b[0]=1;b[p+1]=n;do{int sum=0;for(int i=1;i<=p+1;i++)sum+=a[b[i-1]][b[i]];minn=min(minn,sum);}while(next_permutation(b+1,b+p+1));printf("%d",minn);
}
TYVJ 1288 飘飘乎居士取能量块相关推荐
- TYVJ1288 飘飘乎居士取能量块
描述 9月21日,今天是pink的生日,飘飘乎居士当然要去别人的领土大闹一番啦! 为了收集更多的能量到pink家大闹,飘飘乎居士准备从后花园中取出自己多年积攒的p个能量块.后花园一共被划分n个地区 ...
- Tyvj P1143 飘飘乎居士的约会
背景 一阵狂风吹过 只听"pong"的一声,飘飘乎居士降落了!!! 描述 又是美妙的一天,这天飘飘乎居士要和MM约会,因此他打扮的格外帅气.但是,因为打扮的时间花了太久,离约会 ...
- tyvj 1143 飘飘乎居士的约会 走迷宫(可穿墙一次)
From VioletHill ☆飘飘乎居士的约会 背景 Background 一阵狂风吹过 只听"pong"的一声,飘飘乎居士降落了! ...
- 【python练习】支付宝自动偷取能量
支付宝自动偷取能量 借助Python的轻量级Uiautomator2第三方库方便快捷的编写支付宝蚂蚁森林偷取能量! 其相比appium相比其语法及用法更加简洁,当然相对于功能也的确没有appium更加 ...
- adb 查看屏幕大小_蚂蚁森林自动收取能量、偷取能量、浇水(使用adb、python)...
涉及到的技术: 1.python 2.adb 具备的功能: 1.自动收取能量 2.自动偷取能量 3.自动给指定的朋友浇水 使用方法: 1.打开电脑,USB线一头接手机,一头接电脑. 2.电脑运行pyt ...
- Baxter抓取物块——基于单应性矩阵(一)
最近在学习Baxter双臂机器人,做了一个简单的单臂物块抓取来作为起步阶段的成果.大体思路很简单:让手臂到达指定的起始位置,获取图像,找到物块的轮廓并计算单应性矩阵,再计算手臂实际需要移动的偏移量,最 ...
- P1143 飘飘乎居士的约会
描述 又是美妙的一天,这天飘飘乎居士要和MM约会,因此他打扮的格外帅气.但是,因为打扮的时间花了太久,离约会的时间已经所剩无几. 幸运的是,现在飘飘乎居士得到了一张n*m的地图,图中左上角是飘飘乎居士 ...
- 苹果 python蚂蚁森林自动收能量_蚂蚁森林自动收取能量、偷取能量、浇水(使用adb、python)...
涉及到的技术: 1.python 2.adb 具备的功能: 1.自动收取能量 2.自动偷取能量 3.自动给指定的朋友浇水 使用方法: 1.打开电脑,USB线一头接手机,一头接电脑. 2.电脑运行pyt ...
- 苹果 python蚂蚁森林自动收能量_GitHub - dxp432/adb_python_alipay_AntForest: 蚂蚁森林自动收取能量、偷取能量、浇水(使用adb、python)...
蚂蚁森林自动收取能量.偷取能量.浇水 蚂蚁森林自动收取能量.偷取能量.浇水(使用adb.python)adb_python_alipay_AntForest 涉及到的技术: 1.python 2.ad ...
最新文章
- 智能媒体管理产品文档转换/预览功能介绍(4)--快速搭建
- 一个插排引发的设计思想 (三) 委托与事件
- 华为RH2285H V2设备管理口白屏的解决方法
- 关于ubuntu17.04之apt-get源失败 解决办法
- Redis搭建及介绍
- 数字信号处理知识点总结(三):离散傅里叶变换(DFT)
- Eclipse中新建Maven项目,解决丢失src/main/java文件问题
- java ppt转图片 解决图片不清晰问题,Java PowerPoint转图片,使用java操作ppt转图片
- QHeaderView 表头设置QWidget控件
- win10计算机文件夹隐藏,Win10怎么隐藏文件夹_Win10怎么隐藏此电脑的文件夹-192路由网...
- insmod 加载模块过程、modprobe 与 insmod的区别 、lsmod命令
- 探索--appllo配置中心,如何动态加载配置
- 怎么将.tex文件转换成pdf
- 亿级流量电商详情页系统实战-25.亿级流量商品详情页的多级缓存架构介绍
- 数据库事务的四个特征
- 动态磅是怎么原理_动态地磅载力的原理与发展
- 彻底解决ie11浏览网页双击放大的问题,安全无污染!
- 几句话,就放弃考研了
- AHT10温湿度传感器设计
- PCB钢网的使用技巧