图的按录入顺序广度优先搜索

5000(ms)
10000(kb)
2347 / 4868
Tags: 广度优先
图的广度优先搜索类似于树的按层次遍历,即从某个结点开始,先访问该结
点,然后访问该结点的所有邻接点,再依次访问各邻接点的邻接点。如此进
行下去,直到所有的结点都访问为止。在该题中,假定所有的结点以“A”--“Z
”中的若干字符表示,且要求结点的访问顺序根据录入的顺序进行访问。如果
结点录入的顺序为HUEAK,要求从H开始进行广度优先搜索,则可能的搜索
结果为:H->E->A->U->K.

输入

第一行为一个整数n,表示顶点的个数,第二行为n个大写字母构成的字符串,
表示顶点,接下来是为一个n*n大小的整数矩阵,表示图的邻接关系。数字为
0表示不邻接,否则为相应的边的长度。最后一行为一个字符,表示要求进行
广度优先搜索的起始顶点。

输出

用一行输出广度优先搜索结果,起始点为给定的顶点。

样例输入

5
HUEAK
0 0 2 3 0
0 0 0 7 4
2 0 0 0 0
3 7 0 0 1
0 4 0 1 0
H

样例输出

HEAUK
 #include<iostream>
#include<cstdio>
#include<string>
#include<queue>
using namespace std; char Node[];
int Mark[]={},Map[][],n;
queue<int> S; void bfs(int x){
S.push(x);
while(!S.empty()){
int tem=S.front();
for(int i=;i<n;i++){
if(!Mark[i]&&Map[tem][i]){
S.push(i);
Mark[i]=;
}
}
cout<<Node[tem]; S.pop();
}
} int main()
{
char s;
cin>>n;
scanf("%s",Node);
for(int i=;i<n;i++)
for(int j=;j<n;j++)
cin>>Map[i][j];
cin>>s;
int i=;
while(Node[i]!=s)i++;
Mark[i]=;
bfs(i);
return ;
}

swust oj 1069的更多相关文章

  1. [Swust OJ 404]--最小代价树(动态规划)

    题目链接:http://acm.swust.edu.cn/problem/code/745255/ Time limit(ms): 1000 Memory limit(kb): 65535   Des ...

  2. [Swust OJ 649]--NBA Finals(dp,后台略(hen)坑)

    题目链接:http://acm.swust.edu.cn/problem/649/ Time limit(ms): 1000 Memory limit(kb): 65535 Consider two ...

  3. SWUST OJ NBA Finals(0649)

    NBA Finals(0649) Time limit(ms): 1000 Memory limit(kb): 65535 Submission: 404 Accepted: 128   Descri ...

  4. [Swust OJ 1023]--Escape(带点其他状态的BFS)

    解题思路:http://acm.swust.edu.cn/problem/1023/ Time limit(ms): 5000 Memory limit(kb): 65535     Descript ...

  5. [Swust OJ 1125]--又见GCD(数论,素数表存贮因子)

    题目链接:http://acm.swust.edu.cn/problem/1125/ Time limit(ms): 1000 Memory limit(kb): 65535   Descriptio ...

  6. [Swust OJ 1126]--神奇的矩阵(BFS,预处理,打表)

    题目链接:http://acm.swust.edu.cn/problem/1126/ Time limit(ms): 1000 Memory limit(kb): 65535 上一周里,患有XX症的哈 ...

  7. [Swust OJ 1026]--Egg pain's hzf

      题目链接:http://acm.swust.edu.cn/problem/1026/     Time limit(ms): 3000 Memory limit(kb): 65535   hzf ...

  8. [Swust OJ 1139]--Coin-row problem

    题目链接:  http://acm.swust.edu.cn/contest/0226/problem/1139/ There is a row of n coins whose values are ...

  9. [Swust OJ 385]--自动写诗

    题目链接:http://acm.swust.edu.cn/problem/0385/ Time limit(ms): 5000 Memory limit(kb): 65535    Descripti ...

随机推荐

  1. 修改编辑器为Markdown编辑器

    一直都在使用cnblogs的TinyMCE,不过感觉好久不更新,还是用Markdown吧,写多了Markdown 还真是受感染呢. 学习下吧,边学便用. 参考链接: 序列图 [简明版]有道云笔记Mar ...

  2. Outlook Error: The Delegates settings were not saved correctly. Cannot activate send-on-behalf-of list.

    When user want to set Delegates for a user of a mailbox, the user meet below error. Step 1: Step 2: ...

  3. VS2008 编译出错 fatal error C1859: unexpected precompiled header error, simply rerunning the compiler might fix this problem

    https://jingyan.baidu.com/article/d8072ac49ebd23ec95cefddd.html

  4. iOS实现图片裁剪功能,基于TKImageView完善与讲解

    1.功能需求:需要实现图片区域裁剪功能. 2.效果图:     3.实现原理:本来想自己实现的,刚好看到一个比较好的库:TKImageView,下载好研究了下,发现基本都能满足我的需求,而且封装的也比 ...

  5. 单片机成长之路(51基础篇) - 012 MCS-51单片机控制详解–TMOD T2MOD

    TMOD:工作方式控制寄存器 寄存器地址89H,不可位寻址. 位序 B7 B6 B5 B4 B3 B2 B1 B0 位符号 GATE C/T M1 M0 GATE C/T M1 M0 GATE——门控 ...

  6. 配置logback

    相关组件] Logback是由log4j创始人设计的又一个开源日志组件. logback当前分成三个模块:logback-core.logback- classic和logback-access. l ...

  7. linux内核剖析(十一)进程间通信之-共享内存Shared Memory

    共享内存 共享内存是进程间通信中最简单的方式之一. 共享内存是系统出于多个进程之间通讯的考虑,而预留的的一块内存区. 共享内存允许两个或更多进程访问同一块内存,就如同 malloc() 函数向不同进程 ...

  8. 解决git 不同branch 下node_moudes不同步的问题

    做nodejs开发,或者vue react等开发的同学,在使用git 做版本管理的时候肯定碰到过这个问题. 按常规做法node_modules 肯定是被添加到.gitignore中不需要被提交的 但是 ...

  9. C语言 · 积分之迷

    标题:积分之迷 小明开了个网上商店,卖风铃.共有3个品牌:A,B,C. 为了促销,每件商品都会返固定的积分. 小明开业第一天收到了三笔订单: 第一笔:3个A + 7个B + 1个C,共返积分:315 ...

  10. linux服务查看

    (1)#service servicename status比如查看防火墙:#service iptables status (2)#chkconfig --list |grep 服务名 比如查看te ...