uva oj 567 - Risk(Floyd算法)

 1 /*
 2 一张有20个顶点的图上。
 3 依次输入每个点与哪些点直接相连。
 4 并且多次询问两点间,最短需要经过几条路才能从一点到达另一点。
 5 
 6 bfs 水过
 7 */
 8 #include<iostream>
 9 #include<cstring>
10 #include<vector>
11 #include<cstdio>
12 #include<queue>
13 using namespace std;
14 
15 struct node{
16    int x, step;
17    node(){
18    
19    }
20    node(int x, int step){
21       this->x=x;
22       this->step=step;
23    }
24 }; 
25 
26 
27 vector<int>v[25]; 
28 queue<node>q;
29 int vis[25];
30 
31 
32 int b, e;
33 
34 void bfs(){
35    while(!q.empty())  q.pop();
36    node cur;
37    q.push(node(b, 0));
38    while(!q.empty()){
39        cur=q.front();
40        q.pop();
41        if(cur.x==e){
42            printf("%2d to %2d: %d\n", b, e, cur.step);
43            return;
44        }
45        int len=v[cur.x].size();
46        for(int i=0; i<len; ++i){
47              if(v[cur.x][i]==e){
48              printf("%2d to %2d: %d\n", b, e, cur.step+1);
49              return;
50           }
51           if(!vis[v[cur.x][i]]){
52                vis[v[cur.x][i]]=1;
53              q.push(node(v[cur.x][i], cur.step+1));
54           } 
55        }
56    }
57 }
58 
59 int main(){
60     int n, u;
61     int cnt=0;
62     while(scanf("%d", &n)!=EOF){
63         while(n--){
64            scanf("%d", &u);
65            v[1].push_back(u);
66            v[u].push_back(1);
67         }
68         for(int i=2; i<=19; ++i){
69            scanf("%d", &n);
70            while(n--){
71               scanf("%d", &u);
72               v[i].push_back(u);
73               v[u].push_back(i);
74            }
75         }
76         scanf("%d", &n);
77         printf("Test Set #%d\n", ++cnt);
78         while(n--){
79            scanf("%d%d", &b, &e) ;
80            bfs();
81            memset(vis, 0, sizeof(vis));
82         }
83         printf("\n");
84         for(int i=1; i<=20; ++i)
85            v[i].clear();
86            
87     } 
88     return 0;
89 }
 1 /*
 2    Floyd 才是正解!
 3 */
 4 #include<iostream>
 5 #include<cstring>
 6 #include<vector>
 7 #include<cstdio>
 8 #include<queue>
 9 #define INF 0x3f3f3f3f
10 using namespace std;
11 
12 int map[25][25];
13 
14 void Folyd(){
15    for(int k=1; k<=20; ++k)
16       for(int i=1; i<=20; ++i)
17          for(int j=1; j<=20; ++j)
18             if(map[i][j] > map[i][k] + map[k][j])
19                map[i][j] = map[i][k] + map[k][j];
20 }
21 
22 
23 int main(){
24     int n, u, b, e;
25     int cnt=0;
26     while(scanf("%d", &n)!=EOF){
27         memset(map, 0x3f, sizeof(map));
28         while(n--){
29            scanf("%d", &u);
30            map[1][u]=map[u][1]=1;
31         }
32         for(int i=2; i<=19; ++i){
33            scanf("%d", &n);
34            while(n--){
35               scanf("%d", &u);
36               map[u][i]=map[i][u]=1;
37            }
38         }
39         scanf("%d", &n);
40         printf("Test Set #%d\n", ++cnt);
41         Folyd();
42         while(n--){
43            scanf("%d%d", &b, &e) ;
44            printf("%2d to %2d: %d\n", b, e, map[b][e]);
45         }
46         printf("\n");
47     }
48 }

 

 

转载于:https://www.cnblogs.com/hujunzheng/p/3898362.html

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

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

相关文章

10034 - Freckles 克鲁斯克尔最小生成树!~

1 /*2 10034 - Freckles3 克鲁斯克尔最小生成树&#xff01;&#xff5e; 4 */5 #include<iostream>6 #include<cstdio>7 #include<cmath>8 #include<algorithm>9 using namespace std; 10 11 struct node{ 12 double x, y; 13 }; 14 15 struct t…

win7个人计算机的ip地址,win7计算机ip地址查询_win7本机ip地址查询

2016-12-09 11:40:21查找计算机的ip地址的方法&#xff1a;点击你的电脑桌面左下角的“开始”找到“运行”点击运行, 在出现的对话框里面输入“cmd” 点击确定然后就会出现一个黑色的命令行窗口,你会看到“&...2016-12-19 15:59:44手机设置静态IP 1、点设置-线网络 2、WLAN…

最全的mysql 5.7.13_最全的mysql 5.7.13 安装配置方法图文教程(linux) 强烈推荐!

linux环境Mysql 5.7.13安装教程分享给大家&#xff0c;供大家参考&#xff0c;具体内容如下1系统约定安装文件下载目录&#xff1a;/data/softwareMysql目录安装位置&#xff1a;/usr/local/mysql数据库保存位置&#xff1a;/data/mysql日志保存位置&#xff1a;/data/log/mysq…

iis 日志 post数据_云原生日志的趋势(1):logscape和logiq

作为日志产品的PM&#xff0c;跟进国内外日志产品动向是个长期工作。这几天翻新一些历史记录&#xff0c;发现logscape自2017年开源以来&#xff0c;突然2019年10月又更新了一会。于是顺着翻翻logscape的github账号&#xff0c;起了兴致来写点文字。https://github.com/logscap…

Uvaoj 10048 - Audiophobia(Floyd算法变形)

1 /*2 题目大意&#xff1a;3 从一个点到达另一个点有多条路径&#xff0c;求这多条路经中最大噪音值的最小值&#xff01; 、4 5 思路&#xff1a;最多有100个点&#xff0c;然后又是多次查询&#xff0c;想都不用想&#xff0c;Floyd算法走起&#xff01; 6 …

南通大学计算机系本二,2012年南通大学计算机科学与技术学院江苏省内第二批本科(院校代码:1301)...

第二批本科(院校代码&#xff1a;1301)序号专 业 名 称学制科类计划数1汉语言文学(师范)四文科552汉语言文学(高级文秘)四文科803广播电视新闻学四文科304对外汉语四文科285历史学(师范)四文科306思想政治教育(师范)四文科207社会工作四文科258行政管理四文科459公共事业管理四…

大学计算机基础总结,大学计算机基础第二章总结

数&#xff1a;计算机的数据的基本形态是二进制数数制&#xff1a;可以直接进行数学计算数字码制&#xff1a;用来表示不同对象属性● 数制(计数体制)多位数中每一位的构成方法以及实现从低位到高位的进位规则(也叫做进制)▲ 常用数制&#xff1a;R进制有R个数码&#xff0c;数…

UvaOJ10369 - Arctic Network

1 /*2 The first line of each test case contains 1 < S < 100, the number of satellite channels!3 注意&#xff1a;S表示一共有多少个卫星&#xff0c;那么就是有 最多有S-1个通道&#xff01; 然后将最小生成树中的后边的 S-1通道去掉就行了&#xff01; 4…

获取list泛型_泛型

泛型什么是泛型&#xff1f;为什么使用泛型&#xff1f;泛型的出现意味着编写的代码可以被不同类型的对象所重用&#xff0c;提升了代码的重用性。泛型的本质是参数化类型&#xff0c;即将所需操作的数据类型设置为一个参数。 举个实际中的栗子&#xff1a;我们需要设计一个柜子…

w10计算机字体怎么设置在哪里设置,如何设置修改win10系统电脑的显示字体

如何设置修改win10系统电脑的显示字体腾讯视频/爱奇艺/优酷/外卖 充值4折起今天给大家介绍一下如何设置修改win10系统电脑的显示字体的具体操作步骤。1. 首先鼠标左键开始&#xff0c;然后在菜单下的左下角选择设置图标。2. 进入Windows 设置后&#xff0c;单击个性化。3. 接着…

uva 10801 - Lift Hopping(最短路Dijkstra)

1 /*2 题目大意&#xff1a;3 就是一幢大厦中有0&#xff5e;99的楼层, 然后有1&#xff5e;5个电梯&#xff01;每个电梯有一定的上升或下降速度和楼层的停止的位置&#xff01;4 问从第0层楼到第k层最少经过多长时间到达&#xff01;5 6 思路&#x…

powerdesigner mysql 自增主键_PowerDesigner Mysql 主键自增、初始值、字符集

自增在你所要设为自增型的键上(比如你的id)双击&#xff0c;弹出一个Column Properties对话框&#xff0c;右下角有一个Identify的选择框&#xff0c;选中它OK&#xff0c;就可以了。 再去查看Preview&#xff0c;就能看到AUTO_INCREMENT。起始值默认自增字段从1开始, 如果需要…

计算机设置从u盘启动怎么办,电脑设置从u盘启动盘启动出现蓝屏该怎么解决?

电脑设置从u盘启动蓝屏怎么办?我们在电脑遇到系统等问题时&#xff0c;经常会选择使用u盘重装系统&#xff0c;这种重装方式可以说是目前最便捷实用的了。但是最近又有用户反映将U盘设置为第一启动项后&#xff0c;电脑没办法从u盘启动&#xff0c;出现了蓝屏的情况&#xff0…

NYOJ 99单词拼接(有向图的欧拉(回)路)

1 /*2 NYOJ 99单词拼接:3 思路&#xff1a;欧拉回路或者欧拉路的搜索&#xff01;4 注意&#xff1a;是有向图的&#xff01;不要当成无向图&#xff0c;否则在在搜索之前的判断中因为判断有无导致不必要的搜索&#xff0c;以致TLE!5 有向图的欧拉路&#xff1a;ab…

mysql 过程和函数_MySQL:存储过程和函数

变量系统变量变量由系统提供&#xff0c;不是用户自定义的&#xff0c;属于服务器层面全局变量会话变量# 如果是全局级别&#xff0c;则需要加global&#xff0c;如果是会话级别&#xff0c;则需要加session&#xff0c;如果不写&#xff0c;则默认是会话# 查看全局变量SHOW GL…

python修改服务器ip,[python+Bat]读表修改机房IP

[Shell] 纯文本查看 复制代码拷贝一下脚本到.bat文件&#xff0c;双击运行即可&#xff0c;有交互式提示输入新的计算机名 ECHO OFFcolor 0AECHO ----------------------------------------------------------------------------ECHO.ECHO 版权所有 copyright of ECHO.ECHO ~~~…

hdu 1811Rank of Tetris (并查集 + 拓扑排序)

1 /*2 题意&#xff1a;这些信息可能有三种情况&#xff0c;分别是"A > B","A B","A < B"&#xff0c;分别表示A的Rating高于B,等于B,小于B。3 4 现在Lele并不是让你来帮他制作这个高手榜&#xff0c;他只是想知道&#xff0c;根据这…

ambari mysql jar_从零开始安装 Ambari (3) -- 安装 Ambari

1. 安装yum -y install ambari-server2. ambari server 需要一个数据库存储元数据&#xff0c;默认使用的 Postgres 数据库。默认的用户名和密码是&#xff1a; ambari/bigdata 。但是一般情况下&#xff0c;后面还要安装 hive 和 Ranger&#xff0c;也需要一个存元数据的数据库…

服务器2012系统在dos卸载,Windows系统下彻底删除Windows.old 文件夹的方法

系统是直接硬盘安装的&#xff0c;导致c盘产生了旧系统的文件夹Windows.old&#xff0c;占用很大的磁盘空间&#xff0c;删也删不掉&#xff0c;咋办&#xff1f;不要紧&#xff0c;下面大神来教你神操作&#xff01;&#xff01;&#xff01;1、打开“计算机”&#xff0c;选择…

hdu3635 Dragon Balls(带权并查集)

1 /*2 题意&#xff1a;有N个城市&#xff0c; 每一个城市都有一个龙珠&#xff08;编号与城市的编号相同&#xff09;&#xff0c;有两个操作3 T A ,B 将标号为A龙珠所在城市的所有的龙珠移动到B龙珠所在城市中&#xff01; 4 5 思路&#xff1a;并查集 &#xff…