【B006】50136142WXY的坑爹百度地图【难度B】——————————————————————————————————————————————————————————————————————————

【题目要求】

输出描述的链接 and其他说明的链接  社团里的WXY童鞋今天要出去旅游啦(他现在在北京为1号城市),决定去朝鲜平壤(N号城市)装逼。但是很穷的WXY没有钱坐飞机,只好坐汽车去朝鲜了。但是车上的百度地图十分不给力,每回不是把WXY带到了山顶上就是带到了下水道里(WXY的车能开进下水道,真是666666)。WXY被百度导航整得苦不堪言。还好WXY大神事先准备了一张有N个节点,M条公路的只有火星人才能看懂的图。作为大神的WXY才懒得去计算这么简单的问题呢,所以他强制你帮他计算从北京到平壤的最短路径是什么。(否则你就会被WXY打死快开始计算吧。)

【输入要求】

*第一行:两个数N与M代表有N个城市,M条公路。
 *接下来的M行:每行有三个数a,b,c代表城市a,b之间有一条长度为c的公路。

【输入示例】

5 8
1 2 2
1 5 10
2 3 3
2 5 7
3 1 4
3 4 4
4 5 5
5 3 3

【输出要求】

*还是就一个数,不知知道是什么的按前面的链接。

【输出示例】

9

【其它要求】

LJX认为N与M不会太大(点击前面的链接查看什么叫不会太大)

【试题分析】

这个问题由于要求很宽松,所以这里不再使用最短路算法进行计算,我们使用把每条路经常遍历的算法计算,也就是DFS深度优先遍历的思想。

我们在脑海里构成一个表,把这张图放进表里,根据有5行5列,比如(1,1)=0代表从1号城市到1号城市的距离是0,对于2号城市到4号城市没有路径的情况我们用9999999(这里认为9999999是无限大)填充。即(2,4)=9999999。

知道了这些,我们就可以开始求最短路径了,我们规定一个规则,当遇到路口时先往标号小的城市那边走,比如我们从1号城市出发,可以到达2号与5号城市,根据规则,转向2号城市。以此类推,第一次遍历的路径是1-2-3-4-5,但谁说这就是最短的了?所以我们在退回4号城市尝试其它路径。

就这样我们在设置一个变量对最短路不断更新即可,是不是很简单,下面是代码。

【代码】

#include<iostream>
#include<cstdio>
using namespace std;
int minn=9999999,book[101],n,e[101][101];
void dfs(int cur,int dis)
{
int j;
if(dis>minn) return ;
if(cur==n)
{
if(dis<minn) minn=dis;
return ;
}
for(j=1;j<=n;j++)
{
if(e[cur][j]!=9999999 && book[j]==0)
{
book[j]=1;
dfs(j,dis+e[cur][j]);
book[j]=0;
}
}
return;
}
int main()
{
int i,j,m,a,b,c;
cin>>n>>m;
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
if(i==j) e[i][j]=0;
else e[i][j]=9999999;
}
}
for(i=1;i<=m;i++)
{
cin>>a>>b>>c;
e[a][b]=c;
}
book[1]=1;
dfs(1,0);
cout<<minn;
//system("pause");
return 0;
}

首师大附中互测题:50136142WXY的坑爹百度地图【B006】(可以喝的超大桶水)的更多相关文章

  1. 首师大附中互测题:99999999海岛帝国后传:算法大会【D001】

    [D001]99999999海岛帝国后传:算法大会[难度:D] ———————————————————————————————————————————————————————————————————— ...

  2. 首师大附中互测题:LJX的校园:入学典礼【C003】

    [C003]LJX的校园:入学典礼[难度C]—————————————————————————————————————————————————————————————————————————————— ...

  3. 首师大附中互测题:50229234海岛帝国:独立之战【C002】

    [C002]50229234海岛帝国:独立之战[难度C]———————————————————————————————————————————————————————————————————————— ...

  4. 50136142WXY的百度地图

    50136142WXY的百度地图 [试题描述] 社团里的WXY童鞋今天要出去旅游啦(他现在在北京为1号城市),决定去朝鲜平壤(N号城市).但是很穷的WXY没有钱坐飞机,只好坐汽车去朝鲜了.但是车上的百 ...

  5. 【2018集训队互测】【XSY3372】取石子

    题目来源:2018集训队互测 Round17 T2 题意: 题解: 显然我是不可能想出来的……但是觉得这题题解太神了就来搬(chao)一下……Orzpyz! 显然不会无解…… 为了方便计算石子个数,在 ...

  6. 洛谷 P4463 - [集训队互测 2012] calc(多项式)

    题面传送门 & 加强版题面传送门 竟然能独立做出 jxd 互测的题(及其加强版),震撼震撼(((故写题解以祭之 首先由于 \(a_1,a_2,\cdots,a_n\) 互不相同,故可以考虑求出 ...

  7. 【loj2461】【2018集训队互测Day 1】完美的队列

    #2461. 「2018 集训队互测 Day 1」完美的队列 传送门: https://loj.ac/problem/2461 题解: 直接做可能一次操作加入队列同时会弹出很多数字,无法维护:一个操作 ...

  8. 【CH 弱省互测 Round #1 】OVOO(可持久化可并堆)

    Description 给定一颗 \(n\) 个点的树,带边权. 你可以选出一个包含 \(1\) 顶点的连通块,连通块的权值为连接块内这些点的边权和. 求一种选法,使得这个选法的权值是所有选法中第 \ ...

  9. 【百度地图API】——国内首款团购网站的地图插件

    原文:[百度地图API]--国内首款团购网站的地图插件 摘要: 本文介绍了一款应用在团购网站上的地图插件,适用于目前非常流行的团购网站.使用这款地图插件,无需任何编程技术,你就把商家的位置轻松地标注在 ...

随机推荐

  1. (转)解决bootstrap 模态框的页面抖动

    使用bootstrap时,往往会出现页面抖动的效果,使得用户体验十分不友好. Bootstrap为了让所有的页面(这里指内容溢出和不溢出)显示效果一样,采取的方法如下: 当Modal显示时,设置bod ...

  2. Socket异步通讯

    1.可以通过多线程来解决(一会补上) 2.Socket在tcp/udp两种通信协议下的异步通信: 基于TCP的异步通信: BeginAccept方法和endeaccept方法 包含在System.Ne ...

  3. AFNetworking certificate AFNetworking 证书设置

    + (AFSecurityPolicy*)customSecurityPolicy { // /先导入证书 NSString *cerPath = [[NSBundle mainBundle] pat ...

  4. Python之路Python3【第零篇】Python2 & Python3区别持续更新~

    print def print(self, *args, sep=' ', end='\n', file=None): # known special case of print "&quo ...

  5. Linux中挂载window7的共享文件

    window7主机: 设置要共享的文件夹 Linux Fedora: 0 su su root 1 samba-client yum install samba-client 2 cifs-utils ...

  6. 【重点】Shell入门教程:流程控制(2)条件判断的写法

    第三节:条件判断的写法 if条件判断中,if的语法结构中的“条件判断”可以有多种形式.测试结果是真是假,就看其传回的值是否为0. 条件测试的写法,有以下10种: 1.执行某个命令的结果 这里的命令,可 ...

  7. C#高级编程笔记 Day 5, 2016年9月 13日 (泛型)

    [重点]泛型:有了泛型,就可以创建独立于被包含类型的类和方法了.我们不必给不同的类型编写功能相同的许多方法和类,只创建一个方法或类即可,以下是泛型的特点:性能.类型安全性.二进制代码重用.代码的扩展. ...

  8. Eclipse自动编译问题

    今天遇到一个很郁闷的问题,在程序中修改了一个String字符串,结果打断点是发现,还是修改之前的值,一点都没有变,最终发现该类在tomcat中的class的大小一直都没有变,只有修改时间在变,这才意识 ...

  9. SQL,Linq,Lambda之间的转换练习

    1.查询Student表中的所有记录的Sname.Ssex和Class列. SQL:select sname,ssex,class from Students linq:from s in Stude ...

  10. AdminLTE 2 开源模版

    AdminLTE  2 开源模版: 1. 文档  https://almsaeedstudio.com/themes/AdminLTE/documentation/index.html 2. 代码   ...