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漏洞…

5月5日 百度搜索技巧

1.“”——精确匹配 如果输入的查询词很长&#xff0c;百度在经过分析后&#xff0c;给出的搜索结果中的查询词&#xff0c;可能是拆分的。如果您对这种情况不满意&#xff0c;可以尝试让百度不拆分查询词。给查询词加上双引号&#xff0c;就可以达到这种效果。如&#xff1a;“…

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,另一个记录不设置即可。然后绑定到正常的站点。

apache shiro_Apache Shiro:简化应用程序安全性

apache shiro考虑到JAVA已有10多年的历史了&#xff0c;需要在其应用程序中内置身份验证和授权的应用程序开发人员的选择数量之低令人震惊。 在JAVA和J2EE中&#xff0c;JAAS规范是一种尝试解决安全性的问题。 尽管JAAS用于身份验证&#xff0c;但授权部分却过于繁琐而无法使用…

微软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…

新版本阿里云网站的云服务器添加安全组规则

新版地址&#xff1a;添加安全规则 新网站界面改动比较大&#xff0c;记录一下这个地址便于下次直接添加安全组规则

Java中多线程的性能比较

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

【leetcode】Remove Linked List Elements(easy)

Remove all elements from a linked list of integers that have value val. ExampleGiven: 1 --> 2 --> 6 --> 3 --> 4 --> 5 --> 6, val 6Return: 1 --> 2 --> 3 --> 4 --> 5 思路&#xff1a;简单题。 //Definition for singly-linked list.…

微软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;他接…

python能不能用c打开文件_C/C++/Python等 使用二进制模式打开文件与不使用二进制模式的区别...

C语言中文本文件与二进制文件的区别 一、文本文件与二进制文件的定义 大家都知道计算机的存储在物理上是二进制的&#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. 设置目标主…

修改mysql 外删除用户_mysql添加用户、删除用户、授权、修改密码等

mysql添加用户、删除用户、授权、修改密码等1.新建用户。 //登录MYSQL >mysql -u root -p >密码 //创建用户 mysql> mysql> insert into mysql.user(Host,User,Password,ssl_cipher,x509_issuer,x509_sub ject) values("localhost","pppadmin"…

Loadrunner日志设置与查看

Loadrunner日志设置与查看 1.打开EXtended LogLog告诉了我们一切,默认的Log是standard Log,这时远远不够的.我们要extended log,打开路径为runtime settings-->log-->extended log.把parameter substitution和data returned byserver和advanced trace大家根据需要勾选吧.…

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

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

java与java ee_Java EE6装饰器:在注入时装饰类

java与java ee软件中常见的设计模式是装饰器模式 。 我们上一堂课&#xff0c;然后在它周围包装另一堂课。 这样&#xff0c;当我们调用类时&#xff0c;我们总是在到达内部类之前通过周围的类。 Java EE 6允许我们通过CDI创建装饰器&#xff0c;作为其AOP功能的一部分。 如果我…