Description

经过数月的准备,小天狼星,一个被诬陷的杀人犯,准备闯入霍格沃茨见见他的侄子。霍格沃茨的地图呈一颗树状分布。每个房间由若干跳过道通向其他房间。由于小天狼星想尽快找到哈利:
0.他会从房间0开始找
1.他总是会选择离自己最近的房间找
2.如果没找到,则继续选最近的房间深入
3.如果已没有房间可走,则返回到上一个房间,继续选择(往回走也算时间哦)。
4.当然,除了往回走,小天狼星是不会去一个房间两次的。

Input

第1行,nn房间个数,pp哈利所在的房间。(p≤n<100)
第2∼n2∼n行,每行3个整数s,t,ls,t,l。从房间ss到房间tt的时间ll。(s≠t, 0≤s<t<n, 0<l≤100000<l≤10000)

Output

输出找到哈利的时间(开始时间为0)。


思路:一看就是个先序遍历,不过注意往回走的时候也要累加,注意标记。

虽然数据范围只有100.但是我自己用map 的时候出了一个bug,后来是每次vectorsort后遍历的。复杂度肯定没有map的优秀。

讲讲我用map产生的bug吧:

我想方便一点不写重载,然后map<int,int>map1[maxn],因为默认当第一关键字排序,所以我把距离放第一个关键字了.

但是第一个是map的key,insert的话如果key存在,不再插入;[]的话key存在会修改,所以导致距离作为关键字排序产生了问题。

所以放第二关键字,对map的排序重载。

这里的代码就暴力的每次sort

#include<iostream>
#include<vector>
#include<queue>
#include<cstring>
#include<cmath>
#include<map>
#include<set>
#include<cstdio>
#include<algorithm>
#define debug(a) cout<<#a<<"="<<a<<endl;
using namespace std;
const int maxn=200;
typedef long long LL;
typedef pair<LL,LL>P;
inline LL read(){LL x=0,f=1;char ch=getchar();   while (!isdigit(ch)){if (ch=='-') f=-1;ch=getchar();}while (isdigit(ch)){x=x*10+ch-48;ch=getchar();}
return x*f;}
///map<LL,LL>g[maxn];
vector<P>g[maxn];
LL ans=0;
LL n,p;
bool flag=1;
void dfs(LL u,LL fa,LL fee){///debug(u);if(u==p){flag=0;return;}sort(g[u].begin(),g[u].end());for(auto i:g[u]){LL v=i.second;LL cost=i.first;if(v==fa||flag==0) continue;ans+=cost;dfs(v,u,cost);}if(flag) ans+=fee;
}
int main(void)
{cin.tie(0);std::ios::sync_with_stdio(false);cin>>n>>p;p++;for(LL i=1;i<n;i++){LL s,t,l;cin>>s>>t>>l;s++;t++;g[s].push_back({l,t});///  g[s].insert({l,t});///  g[t].insert({l,s});}dfs(1,0,0);/*for(LL i=1;i<=n;i++){for(auto j:g[i]){cout<<"连到的点"<<j.second<<"的花费"<<j.first<<" ";cout<<"\n";}}*map吞边了???cout<<ans<<endl;
return 0;
}

A. 小天狼星的访问(A*思想)相关推荐

  1. dfs(小天狼星的访问,CF - 1249-B2)

    目录 小天狼星的访问 CF - 1249-B2 小天狼星的访问 Description 经过数月的准备,小天狼星,一个被诬陷的杀人犯,准备闯入霍格沃茨见见他的侄子.霍格沃茨的地图呈一颗树状分布.每个房 ...

  2. 【最小生成树】小天狼星的访问

    题目:小天狼星的访问 rqnoj196 题目描述 经过数月的准备,小天狼星,一个被诬陷的杀人犯,准备闯入霍格沃茨见见他的侄子.霍格沃茨的地图呈一颗树状分布.每个房间由若干跳过道通向其他房间.由于小天狼 ...

  3. 【图论】【RQNOJ】小天狼星的访问

    题目描述 经过数月的准备,小天狼星,一个被诬陷的杀人犯,准备闯入霍格沃茨见见他的侄子.霍格沃茨的地图呈一颗树状分布.每个房间由若干跳过道通向其他房间.由于小天狼星想尽快找到哈利: 0.他会从房间0开始 ...

  4. 12.通过微信小程序端访问企查查(采集工商信息)

    12.通过微信小程序端访问企查查(采集工商信息) 需要注意的问题: 一.1.微信端访问企查查小程序需要登录.2.访问抓包获取的url是有时效性的过一段时间就不能用了. http://xcx.qicha ...

  5. 今天突然发现,微信小程序手机访问正常,PC端访问小程序图片无法加载?

    今天突然发现,微信小程序手机访问正常,PC端访问小程序图片无法加载? 所有图片在pc上查看都无法显示. 然后使用抓包工具抓包,pc端图片全部403,结果为 AccessDenied You are d ...

  6. 我正在参加博客之星评选,2022年「博客之星」参赛博主:小天狼星_布莱克

    我正在参加博客之星评选,请您投票!2022年「博客之星」参赛博主:小天狼星_布莱克 https://bbs.csdn.net/topics/611388685 请大家为我投票,评论区定会回访 2022 ...

  7. [转]你们希望小天狼星复活吗?

    有一阵子没来论坛,忽然发现好几个帖子都在讨论小天狼星的生死问题,感觉很古怪.2003年6月22日我刚刚看完<凤凰社>时,也曾经为小天狼星的离去感到非常悲哀,尤其同情卢平和哈利的悲痛.但是我 ...

  8. java小例子mysql_Java 访问MySQL的小例子

    Java访问Mysql,需要有mysql.jar包,这个需要提前准备好.在java中引入mysql.jar有两种方法,下面将详细介绍. (一)新建项目时,通过导入外部jar的方法: (1)打开myec ...

  9. 微信小程序无法访问豆瓣API, 豆瓣图书小程序示例

    一.访问豆瓣API 官方API地址:图书 Api V2 按照API的示例,图书检索的URL为:https://api.douban.com/v2/book/search?q=检索信息&star ...

最新文章

  1. 端口号被占用怎么解决
  2. TIOBE 8 月编程语言:C、Java 差距拉大,R 语言盛行
  3. python字符串面试题:找出一个字符串中第一个字母和最后一个字符是第一次重复,中间没有重复且最长的子串...
  4. 开源自建/托管与商业化自研 Trace,如何选择?
  5. 201521123004《软件工程》个人阅读作业1
  6. 2008铁路旅客列车时刻表_天津到新沂汽车卧铺大巴车长途汽车发车时刻表
  7. 任何字符串indexOf(‘‘)返回都是0,数组indexOf(‘‘)返回是-1
  8. Cocos2d-x场景(Scene)详解
  9. kno DNS 03 Tips - DNS Cookies
  10. 计算机英语听力速记...,2019计算机考研英语听力速记技巧才是王道
  11. 【福利】论机房如何关闭方正软件保护卡
  12. 在本地机上使用VNC远程连接CentOs7
  13. ssm框架 mysql 一对多_ssm2: :sparkles: 基于SSM框架简单的文章管理系统,使用MySQL多表存储方式实现留言回复功能...
  14. 服务器系统访问量统计,通过网站统计或系统监视器查看IIS并发连接数
  15. DevExpress XPO 学习笔记
  16. 【分享笔记】android6.0特性
  17. 未来教育1级计算机基础及ms,未来教育.全国计算机等级考试一本通一级计算机基础及MS Office应用...
  18. MySQL数据库 第4章:数据库设计
  19. 1147 简单评委打分
  20. word中插入图片,转pdf后,打印的图片出现阴影模糊的问题及处理办法

热门文章

  1. java循环合并行_java导出excel时合并同一列中相同内容的行
  2. Delphi 最近做的一个Delphi功能,查询数据显示到TChart上
  3. SWIFT全资中国法人机构正式在京成立
  4. endnote 文献保留前三个作者
  5. Linux服务器挖矿木马清除
  6. PC端浏览器手机模拟器滑屏dome
  7. TypeError: Failed to fetch dynamically imported module:
  8. 分享三个软文发布易收录的发布渠道!
  9. SQL 是最值得投资的语言,清华博士如是说!
  10. TCP/IP 流量控制