数据结构实验之图论三:判断可达性
来源:互联网 发布:物业网络拓扑图 编辑:程序博客网 时间:2024/06/17 01:58
数据结构实验之图论三:判断可达性
Time Limit: 1000MS Memory Limit: 65536KB
Submit Statistic
Problem Description
在古老的魔兽传说中,有两个军团,一个叫天灾,一个叫近卫。在他们所在的地域,有n个隘口,编号为1..n,某些隘口之间是有通道连接的。其中近卫军团在1号隘口,天灾军团在n号隘口。某一天,天灾军团的领袖巫妖王决定派兵攻打近卫军团,天灾军团的部队如此庞大,甚至可以填江过河。但是巫妖王不想付出不必要的代价,他想知道在不修建任何通道的前提下,部队是否可以通过隘口及其相关通道到达近卫军团展开攻击。由于n的值比较大(n<=1000),于是巫妖王找到了擅长编程的你 =_=,请你帮他解决这个问题,否则就把你吃掉变成他的魔法。为了拯救自己,赶紧想办法吧。
Input
输入包含多组,每组格式如下。
第一行包含两个整数n,m(分别代表n个隘口,这些隘口之间有m个通道)。
下面m行每行包含两个整数a,b;表示从a出发有一条通道到达b隘口(注意:通道是单向的)。
Output
如果天灾军团可以不修建任何通道就到达1号隘口,那么输出YES,否则输出NO。
Example Input
2 1
1 2
2 1
2 1
Example Output
NO
YES
Hint
Author
赵利强
#include <iostream>#include <cstring>#include <queue>using namespace std;const int MAX = 1005;int mp[MAX][MAX];int vt[MAX];int main(){ int n, m; while (cin >> n >> m) { int va, vb; memset(vt, 0, sizeof(vt)); memset(mp, 0, sizeof(mp)); for (int i = 0; i < m; i++) { cin >> va >> vb; mp[va][vb] = 1; } queue<int> qu; qu.push(n); vt[n] = 1; while (!qu.empty()) { int tp = qu.front(); qu.pop(); for (int i = 1; i <= n; i++) { if (!vt[i] && mp[tp][i]) { vt[i] = 1; qu.push(i); } } } if (vt[1] == 1) cout << "YES" << endl; else cout << "NO" << endl; } return 0;}
阅读全文
0 0
- 数据结构实验之图论三:判断可达性
- 数据结构实验之图论三:判断可达性
- 数据结构实验之图论三:判断可达性
- 数据结构实验之图论三:判断可达性
- 数据结构实验之图论三:判断可达性
- 数据结构实验之图论三:判断可达性
- 数据结构实验之图论三:判断可达性
- 数据结构实验之图论三:判断可达性
- 数据结构实验之图论三:判断可达性
- 数据结构实验之图论三:判断可达性
- 数据结构实验之图论三:判断可达性
- 数据结构实验之图论三:判断可达性
- 数据结构实验之图论三:判断可达性
- 数据结构实验之图论三:判断可达性
- 2138 数据结构实验之图论三:判断可达性
- 数据结构实验之图论三:判断可达性
- 2138 数据结构实验之图论三:判断可达性
- 数据结构实验之图论三:判断可达性
- spring对dao层的支持(datasource的作用)
- Linux操作系统与实训教程(习题2)
- codeforces 148D Bag of mice (概率)
- JFinal神器的配置
- 一行一行读Java源码——ArrayList
- 数据结构实验之图论三:判断可达性
- 史上最全的Spring MVC 中文乱码问题解决方案
- 深度学习总结(六)——梯度弥散、爆炸和过拟合
- web.xml配置简介
- Spring 事务原理
- 判断平年还是闰年
- php 利用阿里云oss实现托管文件
- 研究生教师工资
- cf #336 div1 a