迷宫城堡

                                                                            Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
                                                                                                     Total Submission(s): 13002    Accepted Submission(s): 5810

Problem Description
为了训练小希的方向感,Gardon建立了一座大城堡,里面有N个房间(N<=10000)和M条通道(M<=100000),每个通道都是单向的,就是说若称某通道连通了A房间和B房间,只说明可以通过这个通道由A房间到达B房间,但并不说明通过它可以由B房间到达A房间。Gardon需要请你写个程序确认一下是否任意两个房间都是相互连通的,即:对于任意的i和j,至少存在一条路径可以从房间i到房间j,也存在一条路径可以从房间j到房间i。
Input
输入包含多组数据,输入的第一行有两个数:N和M,接下来的M行每行有两个数a和b,表示了一条通道可以从A房间来到B房间。文件最后以两个0结束。 
Output
对于输入的每组数据,如果任意两个房间都是相互连接的,输出"Yes",否则输出"No"。 
Sample Input
3 3 1 2 2 3 3 1 3 3 1 2 2 3 3 2 0 0 
Sample Output
Yes No
Author
Gardon
Source
HDU 2006-4 Programming Contest
#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<queue>
#include<vector>using namespace std;
vector<int>v[100005];
vector<int>s[100005];
int cnt;
int visit[100005];void dfs1(int n)
{int x;visit[n]=1;cnt++;for(int i=0; i<v[n].size(); i++){x=v[n].at(i);if(visit[x]==0)dfs1(x);}
}
void dfs2(int n)
{int x;visit[n]=1;cnt++;for(int i=0; i<s[n].size(); i++){x=s[n].at(i);if(visit[x]==0)dfs2(x);}
}int main()
{int m,n,a,b;while(~scanf("%d%d",&n,&m)&&(m||n)){for(int i=0; i<=n; i++){v[i].clear();s[i].clear();}for(int i=1; i<=m; i++){scanf("%d%d",&a,&b);v[a].push_back(b);s[b].push_back(a);}memset(visit,0,sizeof(visit));cnt=0;dfs1(1);if(cnt!=n){printf("No\n");continue;}memset(visit,0,sizeof(visit));cnt=0;dfs2(1);if(cnt!=n){printf("No\n");continue;}printf("Yes\n");}return 0;
}

HDU1269-迷宫城堡相关推荐

  1. HDU1269 迷宫城堡(模板题)

    HDU1269 迷宫城堡 文章目录 Problem Description 题解: Problem Description 为了训练小希的方向感,Gardon建立了一座大城堡,里面有N个房间(N< ...

  2. hdu1269迷宫城堡(判断有向图是否是一个强连通图)

    1 /* 题意: 给你一个图,求这个有向图示否是一个强连通图(每两个节点都是可以相互到达的)! 思路1:按正向边dfs一遍,将经过的节点计数,如果记录的节点的个数小于n,那么就说明图按照正向边就不是连 ...

  3. [hdu1269]迷宫城堡(SCC)

    题意:求一张图的强连通分量,若为1,则输出yes,否则输出no. 解题关键:targin算法模板题. 1 #include<iostream> 2 #include<cstring& ...

  4. 【HDU - 1269】迷宫城堡 (tarjan算法模板)

    题干: 为了训练小希的方向感,Gardon建立了一座大城堡,里面有N个房间(N<=10000)和M条通道(M<=100000),每个通道都是单向的,就是说若称某通道连通了A房间和B房间,只 ...

  5. HDOJ1269(迷宫城堡)

    迷宫城堡 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

  6. 【HDU 1269】迷宫城堡 (Tarjan算法)

    迷宫城堡 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

  7. HDU 1269 迷宫城堡 -- 强连通图判断

    题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1269 图的强连通分量 http://baike.baidu.com/link?url=NqsmNsGC ...

  8. HDU 1269 迷宫城堡(强连通图的判定)

    最近<算法导论>快看完图论部分了,很多有关图的算法都彻底搞懂并加以证明了.现在主要是将理解的思想用到题目中来加强下.这个题目主要是判断一下整个图是否是强连通的,很简单,可以用tarjan也 ...

  9. 迷宫城堡(HDU-1269)

    Problem Description 为了训练小希的方向感,Gardon建立了一座大城堡,里面有N个房间(N<=10000)和M条通道(M<=100000),每个通道都是单向的,就是说若 ...

  10. 迷宫城堡——Tarjan

    传送门HDU1269 描述 为了训练小希的方向感,Gardon建立了一座大城堡,里面有N个房间(N<=10000)和M条通道(M<=100000),每个通道都是单向的,就是说若称某通道连通 ...

最新文章

  1. edit怎么读英语_名师说学习:英语学习有方法
  2. 前序遍历与中序遍历确定后序遍历
  3. linux下添加自动启动项,linux 开机自动启动脚本方法
  4. char (*p3)[5] = a; 和char (*p4)[5] = a;的区别?
  5. Serverless 的喧哗与骚动(一)附Serverless行业发展回顾
  6. Vue 生命周期LIFECYCLE是8个吗?
  7. 如何HTML中输入正确格式,以HTML格式输入样式
  8. 第12章[12.10.1] Ext JS + CKEditor+Spring Boot 实现编辑器图片上传
  9. python word 英语音标_(完整word版)英语音标大全,推荐文档
  10. 程序流程三控制,顺序控制,分支控制,循环控制综合练习题
  11. 程序员如何做好应聘?简历、面试和Offer
  12. html 图片下载浏览器默认会打开新页面预览图片解决方案
  13. 龙芯电脑usb和硬盘两种方式安装系统
  14. 2017年ACM第八届山东省赛I题: Parity check(判断 第n项斐波那契数列奇偶性)
  15. 第1040期机器学习日报(2017-07-24)
  16. 笔记本电脑都有光驱吗?
  17. APP的多语言设计我们可以做点什么?
  18. 怎么快速发表期刊论文
  19. 美团王兴要向口碑饿了么学啥?
  20. 如何使用graphpad做柱形图_Graphpad绘制柱形图&散点图

热门文章

  1. 视频接口详细设计方案
  2. 这么简单!安卓手机投屏到电脑的神器
  3. 【游戏开发创新】自学Blender建模,自制孔明灯,在Unity中点亮整个星空,愿新年,胜旧年(Unity | 建模 | 粒子系统 | 预设)
  4. 一天完成写出一篇毕业设计论文(2020年版本)
  5. android蓝牙健康 iee,Wi-Fi RTT(IEEE 802.11mc)
  6. 红外热成像技术的应用与发展
  7. Excel - SUM和ABS函数联合使用
  8. vue 路由守卫的使用
  9. 手机html页面图片不显示,是什么原因?HTML插入图片显示不出来?
  10. OTA,一个万亿市场的风口