ZOJ1221 Risk 图形的遍历

一开始做图形遍历的题都是用链表做的,这次用数组体会到了方便但就是有点浪费。

不过题目给的内存限制已经足够了。

View Code
 1 #include<cstdio>
 2 #include<cstdlib>
 3 #include<cstring>
 4 #include<queue>
 5 #include<iostream>
 6 
 7 using namespace std;
 8 
 9 typedef struct
10 {
11    int v;
12    int step;    
13 }Point;
14 Point P[21];
15 int visit[21], map[21][21],n;
16 int ncases, A[21], B[21];
17 
18 queue<Point>q;
19 int main()
20 {
21     int i, j, from, to,k=1;           
22     while(scanf("%d",&n) != EOF)
23     {
24        memset(map,0,sizeof(map));                                 
25            
26        while( n-- )                       
27        {                       
28           scanf("%d",&to);                       
29           map[1][to] = 1;                      
30           map[to][1] = 1;                    
31        }                      
32        for(i=2; i<=19; i++)
33        {
34           scanf("%d",&n);                                  
35           while( n-- )                    
36           {                    
37              scanf("%d",&to);                  
38              map[i][to] = 1;                 
39              map[to][i] = 1;                 
40           }                    
41        }        
42        scanf("%d",&ncases);
43        printf("Test Set #%d\n",k++);      
44        while( ncases-- )
45        {        
46           scanf("%d%d",&from,&to);
47           memset(visit,0,sizeof(visit)); 
48           for(i=1; i<=20; i++)
49           {
50             P[i].v = i;
51             P[i].step = 0;
52           }                       
53           q.push(P[from]); 
54           visit[from] = 1;
55           while(!q.empty())
56           {
57               Point u = q.front();               
58               q.pop(); 
59               if(u.v == to)
60               {
61                 printf("%d to %d: %d\n",from,to,u.step);  
62                 break;
63               }    
64               for(i=1; i<=20; i++)
65               {
66                  if(!visit[i]&&map[u.v][i])          
67                  {
68                     P[i].step = u.step+1;                                 
69                     q.push(P[i]);
70                     visit[i] = 1;
71                  }
72               }
73           }  
74           while(!q.empty())    
75             q.pop();      
76        }  
77        printf("\n"); //这里没加卡了一下
78     }
79     return 0;
80 }

转载于:https://www.cnblogs.com/cn19901203/archive/2012/05/24/2517216.html

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

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

相关文章

Android 从AndroidManifest获取meta-data

语法如下&#xff1a; <meta-data android:name"string"android:resource"resource specification"android:value"string" /><meta-data>标签可以作为子标签&#xff0c;可以被包含在<activity>、<application> 、<s…

trim()函数

参数string&#xff1a;string类型&#xff0c;指定要删除首部和尾部空格的字符串返回值String。 函数执行成功时返回删除了string字符串首部和尾部空格的字符串&#xff0c;发生错误时 返回空字符串&#xff08;""&#xff09;。 如果参数值为null时&#xff0c;会抛…

第3章 Python 数字图像处理(DIP) - 灰度变换与空间滤波13 - 平滑低通滤波器 -盒式滤波器核

这里写目录标题平滑&#xff08;低通&#xff09;空间滤波器盒式滤波器核平滑&#xff08;低通&#xff09;空间滤波器 平滑&#xff08;也称平均&#xff09;空间滤波器用于降低灰度的急剧过渡 在图像重取样之前平滑图像以减少混淆用于减少图像中无关细节平滑因灰度级数量不…

python中str用法_python数据类型之str用法

1、首字母大写 语法&#xff1a;S.capitalize() ->str title "today is a good day"title_catitle.capitalize() print(title_ca) 结果&#xff1a;today is a good day 2、大写转小写 1 语法&#xff1a;S.casefold() ->str2 3 title "TODAY is a GOOD …

WPF 窗体设置

WPF 当窗体最大化时控件位置的大小调整&#xff1a; View Code 1 <Window x:Class"WpfApplication1.MainWindow"2 xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"3 xmlns:x"http://schemas.microsoft.com/wi…

Git实践

Git是什么自不必说。Git和gitlab安装和实践在后边的俩篇中会写。本篇仅重点写Git自动部署。Git同样有Hooks,可以用于各种需求。可以控制提交commit名称&#xff0c;可以控制代码规范&#xff0c;也当然包含以下要介绍的自动部署&#xff0c;也不仅包含这些。Git自动部署简单的思…

第3章 Python 数字图像处理(DIP) - 灰度变换与空间滤波14 - 平滑低通滤波器 -高斯滤波器核的生成方法

目录平滑&#xff08;低通&#xff09;空间滤波器低通高斯滤波器核统计排序&#xff08;非线性&#xff09;滤波器平滑&#xff08;低通&#xff09;空间滤波器 平滑&#xff08;也称平均&#xff09;空间滤波器用于降低灰度的急剧过渡 在图像重取样之前平滑图像以减少混淆用…

易经0

--- 阳爻 - - 阴爻 从下往上 画爻 (yao) 三画卦 --> 2^38 (八卦) 那天有空用程序 解析一下 六画卦 --> 2^664(卦) 卦形记忆歌&#xff1a;宋代朱熹的《周易本义》写了《八卦取象歌》帮人记卦形&#xff1a; 乾三连&#xff0c;坤六断&#xff1b;震仰盂&#xff0c;艮覆碗…

python3.7怎么安装turtle_python怎么安装turtle

turtle库是Python语言中一个很流行的绘制图像的函数库&#xff0c;想象一个小乌龟&#xff0c;在一个横轴为x、纵轴为y的坐标系原点&#xff0c;(0,0)位置开始&#xff0c;它根据一组函数指令的控制&#xff0c;在这个平面坐标系中移动&#xff0c;从而在它爬行的路径上绘制了图…

强制html元素不随窗口缩小而换行

<style> div{ white-space:nowrap; } </style> 强制div内的元素不随窗口缩小而换行 本文出自 “点滴积累” 博客&#xff0c;请务必保留此出处http://tianxingzhe.blog.51cto.com/3390077/1679366

静态变量、方法

static 变量---所有对象共享一个变量&#xff08;全局变量区&#xff09;&#xff0c;无需构造---概念上和.net相同所有对象共享一个变量的实质&#xff1a;声明时&#xff1a;堆区存放一个地址&#xff0c;地址指向全局变量区。然后当类对象声明时&#xff0c;只是在堆区中为自…

python语言是机器语言_Python解释器:源代码--字节码--机器语言

"一个用编译性语言比如C或C写的程序可以从源文件&#xff08;即C或C语言&#xff09;转换到一个你的计算机使用的语言&#xff08;二进制代码&#xff0c;即0和1&#xff09;。这个过程通过编译器和不同的标记、选项完成。当你运行你的程序的时候&#xff0c;连接/转载器软…

第3章 Python 数字图像处理(DIP) - 灰度变换与空间滤波15 - 锐化高通滤波器 -拉普拉斯核(二阶导数)

目录锐化&#xff08;高通&#xff09;空间滤波器基础 - 一阶导数和二阶导数的锐化滤波器二阶导数锐化图像--拉普拉斯锐化&#xff08;高通&#xff09;空间滤波器 平滑通过称为低通滤波类似于积分运算锐化通常称为高通滤波微分运算高过&#xff08;负责细节的&#xff09;高频…

Debian on VirtualBox下共享win7文件夹设置

借用&#xff1a;http://www.dbasoul.com/2010/695.html 1. 安装增强功能包(Guest Additions) 参考文档&#xff1a;Debian下安装VirtualBox增强功能2. 设置共享文件夹 重启完成后点击”设备(Devices)” -> 共享文件夹(Shared Folders)菜单&#xff0c;添加一个共享文件夹&a…

第四周作业

1、复制/etc/skel目录为/home/tuser1&#xff0c;要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。cp -r /etc/skel/ /home/tuser1/chmod -R go--- /home/tuser1/2、编辑/etc/group文件&#xff0c;添加组hadoop。vim /etc/group G, o, hadoop:x:501, esc, …

C# 导出 Excel 数字列出现‘0’的解决办法

在DataGird的中某一列全是数字并且长度大于15的字符&#xff0c;在导出excel时数字列第15-18位全部为0。解决办法&#xff1a;在需导出数字列前加入英文字符状态的单引号&#xff08;‘ &#xff09;&#xff0c;如&#xff1a;<asp:TemplateField HeaderText"身份证号…

在python是什么意思_python 的 表示什么

python代码里经常会需要用到各种各样的运算符&#xff0c;这里我将要和大家介绍的是Python中的&&#xff0c;想知道他是什么意思吗&#xff1f;那就和小编一起来了解一下吧。&是位运算符-与&#xff0c;类似的还有|&#xff08;或&#xff09;&#xff0c;!(非)。 整数…

Ubuntu 更改ROOT密码的方法

真蛋疼啊&#xff0c;刚安装了Ubuntu 需要安装程序&#xff0c;提示输入root密码&#xff0c;我才想起来Ubuntu的root密码是什么&#xff0c;我貌似没设置啊。 上网搜索了下相关信息&#xff0c;才知道原来root默认是没有密码的。 需要使用以下命令 sudo passwd root 然后会要求…

DevExpress控件GridControl中的布局详解 【转】

DevExpress控件GridControl中的布局详解 【转】 2012-10-24 13:27:28| 分类&#xff1a; devexpress | 标签&#xff1a;devexpress |举报|字号 订阅 http://www.cnblogs.com/martintuan/archive/2011/03/05/1971472.html 进行DevExpress控件GridControl的使用时&#xff…

第3章 Python 数字图像处理(DIP) - 灰度变换与空间滤波16 - 锐化高通滤波器 - 钝化掩蔽和高提升滤波

目录锐化&#xff08;高通&#xff09;空间滤波器钝化掩蔽和高提升滤波锐化&#xff08;高通&#xff09;空间滤波器 平滑通过称为低通滤波类似于积分运算锐化通常称为高通滤波微分运算高过&#xff08;负责细节的&#xff09;高频&#xff0c;衰减或抑制低频 钝化掩蔽和高提…