UVa 208 Firetruck【回溯】

题意:给出一个n个节点的无向图,以及某个节点k,按照字典序从小到大输出从节点1到节点k的所有路径

看的题解

http://blog.csdn.net/hcbbt/article/details/9755147

因为节点数很少(小于20),所以可以先用floyd处理一下,判断一点是否能够到达终点

然后就像紫书里面枚举排列那样的去挨个找出字典序从小到大的路径

题解里面说到的无回溯的走遍和终点相连的所有点,他写的代码是判断的d[en][i],判断终点到i点是否可达

写成d[i][en]也能过,因为是无向图

 1 #include<iostream>  
 2 #include<cstdio>  
 3 #include<cstring> 
 4 #include <cmath> 
 5 #include<stack>
 6 #include<vector>
 7 #include<map> 
 8 #include<set>
 9 #include<queue> 
10 #include<algorithm>  
11 using namespace std;
12 
13 #define foreach(i,c) for (__typeof(c.begin()) i = c.begin(); i != c.end(); ++i)
14 
15 typedef long long LL;
16 const int INF = (1<<30)-1;
17 const int mod=1000000007;
18 const int maxn=55;
19 
20 int d[maxn][maxn],rute[maxn],vis[maxn];
21 int en,n,ans;
22 
23 void dfs(int x,int cnt){
24     if(x==en){
25         printf("1");
26         for(int i=1;i<cnt-1;i++) printf(" %d",rute[i]);
27         printf(" %d\n",en);
28         ans++;
29         return;        
30     }
31     
32     for(int i=2;i<=n;i++){
33         if(!vis[i]&&d[x][i]==1&&d[i][en]!=INF){            34             rute[cnt]=i;
35             vis[i]=1;
36             dfs(i,cnt+1);
37             vis[i]=0;
38         }
39     }
40 }
41  
42 
43 int main(){
44     int kase=0;
45     while(scanf("%d",&en)!=EOF){
46         int u,v;
47         n=-1;
48         for(int i=1;i<=55;i++){
49             for(int j=1;j<=55;j++) {
50                 d[i][j]=INF;
51             }        
52         }
53              
54         while(scanf("%d %d",&u,&v)&&(u||v)){
55             d[u][v]=d[v][u]=1;
56             n=max(max(u,v),n);//找出这张图里面最大的点的标号                    
57         }
58         
59         for(int k=1;k<=n;k++)
60          for(int i=1;i<=n;i++)
61           for(int j=1;j<=n;j++)
62           d[i][j]=min(d[i][j],d[i][k]+d[k][j]);
63           
64           ans=0;
65           memset(vis,0,sizeof(vis));
66           
67           printf("CASE %d:\n", ++kase);    
68           dfs(1,1);    
69           printf("There are %d routes from the firestation to streetcorner %d.\n", ans, en);
70     }
71     return 0;    
72 }
View Code

 

 

 

 

 

 

 

 

 

 

 

 

 

不知道是不是真的理解了的说啊-----

加油啊---g00000000000

转载于:https://www.cnblogs.com/wuyuewoniu/p/4480098.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/358909.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

html中使用静态图片做一个csdn网站的首页

简单使用csdn网站的截图做一个网站的DEMO, 简单把CSDN网站分为四个图片(自己截图),分别为上,左,中,右,使用IDEA创建一个静态Web项目。 代码演示:(不添加样式,简单演示效果) <!DOCTYPE html> <html lang="en"> <head><meta chars…

使用docker-compose的Spring会话演示

我之前已经写过一个令人振奋的新项目&#xff0c;称为Spring-session &#xff0c;它为基于Java的Web应用程序提供了一种外部化用户会话的干净方法。 我设法使用docker-compose为spring-session进行了良好的演示设置&#xff0c;这展示了该项目的优势&#xff0c;我想在这里写…

kail利用msf工具对ms11-003漏洞入侵渗透Win7

前言&#xff1a; windows7IE溢出攻击 实验环境&#xff1a; 工具&#xff1a;metasploit 靶机两台&#xff1a;windows 7和kali2020 攻击机IP地址&#xff1a;10.20.29.129 被攻击机IP地址&#xff1a;10.20.29.134 步骤&#xff1a; 1、在kali里面打开metasploit漏洞…

python中升级pip报错_linux系统下pip升级报错的解决方法

Pip 安装1、在python中提供了一个get-pip.py;下面是地址https://bootstrap.pypa.io/get-pip.py2、在Linux下执行curl https://bootstrap.pypa.io/get-pip.py | python进行下载安装这样很方便了 想装什么包就装什么包Pip install xxx注意&#xff1a;升级完python版本注意&…

域名如何设置才能带www和不带www都能正常访问

在自己的域名添加两条解析记录&#xff0c;一个带www,另一个记录不设置即可。然后绑定到正常的站点。

微软MS11-050漏洞的利用

微软MS11-050漏洞的利用 0x00 前言0x01 环境搭建1. 虚拟机系统2. 拓扑结构 0x02 利用过程1. 相互ping通2. 启动Metasploit3. 查找和MS11-050相关的模块4. 加载模块5. 设置所使用的payload6. 显示需要配置的选项7. 设置Web服务器的地址&#xff0c;应为BackTrack虚拟机的地址8.…

python中数据类型大小_详细解析Python中的变量的数据类型

变量是只不过保留的内存位置用来存储值。这意味着&#xff0c;当创建一个变量&#xff0c;那么它在内存中保留一些空间。根据一个变量的数据类型&#xff0c;解释器分配内存&#xff0c;并决定如何可以被存储在所保留的内存中。因此&#xff0c;通过分配不同的数据类型的变量&a…

Java中多线程的性能比较

Java中有多种用于多线程的技术。 可以通过同步关键字&#xff0c;锁或原子变量来并行化Java中的一段代码。 这篇文章将比较使用synced关键字ReentrantLock&#xff0c;getAndIncrement&#xff08;&#xff09;以及执行get&#xff08;&#xff09;和compareAndSet&#xff08;…

微软ms10_018漏洞的利用

微软ms10_018漏洞的利用 0x00 前言0x01 study1. 漏洞利用环境1.1 目标机环境1.2 攻击机环境1.3 拓扑结构 2. ping测试3. exploit3.1 启动Metasploit3.2 查找和MS10-018相关的模块3.3 加载模块3.4 设置PAYLOAD3.5 显示需要配置的选项3.6 设置Web服务器的地址&#xff0c;应为Ba…

【深度】机器学习进化史:从线性模型到神经网络

【深度】机器学习进化史&#xff1a;从线性模型到神经网络 Reza Zadeh是斯坦福大学工程计算和数学研究所顾问教授&#xff0c;也是Databricks公司技术顾问&#xff0c;他主要专注于机器学习理论和应用&#xff0c;分布式计算&#xff0c;以及离散应用数学。近日&#xff0c;他接…

微软MS10-046漏洞的利用

微软MS10-046漏洞的利用 0x00 前言0x01 环境1. 目标机环境2. 攻击机环境3. 拓扑结构 0x02 过程1. 相互ping通2. 启动Metasploit3. 查找和MS10-046相关的模块4. 加载模块5. 设置所使用的payload6. 设置文件共享服务器的地址&#xff0c;应为BackTrack虚拟机的地址7. 设置目标主…

使用七牛云对网站进行加速基本配置

看了很多给网站加速的教程,大同小异,觉得还是使用免费的七牛云进行CDN加速,去年使用这个平台给APP加速,效果还不错。 1.打开七牛云存储注册链接:七牛云 注册帐号并且完成系统要求的实名认证要求。一般不需要充钱,冲着免费去的,既可以获得免费的10G流量,一般的小型网站…

kail利用msf工具对ms10-087漏洞入侵渗透WinXP

1.实验环境: Kali2020:10.20.29.129 Windows 2003:10.20.29.137 两台虚拟机能够相互ping通 2.实验步骤 1&#xff0c; 启动Metasploit 2&#xff0c;查找和MS10-087相关的模块search ms10_087 3&#xff0c;使用exploit/windows/fileformat/ms10_087_rtf_pfragments_bof模…

2020年前端招聘技术概览(包含常见的打包工具,框架及前端技术简介)

学习当下前端技术最好的方法就是从求职网站上找出前端的招聘要求,因为前端技术每年变化都很快,每个阶段都会不一样,这里简单从网站招聘要求罗列,仅供参考。更有针对性的是针对每个公司的招聘要求写简历,学习相关技术(除非那个公司特别好) 1.熟悉html,javaScript,css,aja…

DVWA通关教程(下)

XSS&#xff08;DOM&#xff09; XSS(DOM)是一种基于DOM树的一种代码注入攻击方式&#xff0c;可以是反射型的&#xff0c;也可以是存储型的&#xff0c;所以它一直被划分第三种XSS 与前两种XSS相比&#xff0c;它最大的特点就是不与后台服务器交互&#xff0c;只是通过浏览器…

前端工程师必备谷歌浏览器F12下的调试知识点

chrome浏览器版本(所有的操作都是基于我电脑上目前这个版本。) 进入开发者工具的方式:F12 (所有浏览器都可以用F12进入开发者工具),ChromeDev(开发者工具简称)按照类别可以分为下面几种 审查元素 ctrl+shift+c 在页面上选择一个HTML元素并审查它 切换浏览设备 ctrl+…

Kali利用msf对MS10_061漏洞进行渗透测试

注意事项&#xff1a; kail首次打开metasploit&#xff0c;会初始化数据&#xff0c;可能会有点慢&#xff0c;请耐心等待&#xff01;本文仅供学习漏洞渗透测试&#xff0c;不得用于其他非法用途&#xff0c;否则造成的任何后果自负&#xff01;&#xff01;&#xff01; 1.…

Metaspliot 控制终端利用Samba漏洞渗透

Samba简介 Samba是linux和unix系统上实现smb协议的一个免费软件&#xff0c;由服务器及客户端程序构成&#xff0c;Samba是面向Linux和Unix环境的Windows互操作性套件。它适用于在可能包括Linux、Unix、Windows、macOS及其他操作系统的异构环境下工作的那些人。Samba使用服务器…

群里分享的react的收藏一下!今日周末,改了个表单验证然后无所事事了!

今日周末&#xff0c;改了个表单验证然后无所事事了&#xff0c;然后把昨天群里分享的react的收藏一下尽管现在还在研究angular和nodeJs毕竟刚刚开始用有点不熟...没准以后会研究一下react毕竟看着下面这张图还是觉得有点欢乐的 现在最热门的前端框架&#xff0c;毫无疑问是 Re…

Metasploit入门用法(主动攻击)

–作者&#xff1a;CV 本文主要讲metasploit的入门用法&#xff0c;还有一些渗透细节和思路&#xff0c;有不足的&#xff0c;欢迎互相学习研究。本人区别于书籍的特点是&#xff1a;书籍以模块为划分&#xff0c;我是以连续的步骤进行书写&#xff0c;更突出一次渗透的思路&a…