SSL-ZYC 1758 连通图
2018-01-02 21:05
169 查看
题目大意:
判断一个图是否为一个边通图。
思路:
这道题要用到图论。
我用的是深度优先遍历。从一个点开始搜,找到其中一个与它相邻的边,再以找到的边来搜,继续寻找相连的边。把所有可到达的点都搜过了,就退出寻找,看看有没有点没有搜到。如果有,说明这个图不是连通图,否则是连通图。
代码:
判断一个图是否为一个边通图。
思路:
这道题要用到图论。
我用的是深度优先遍历。从一个点开始搜,找到其中一个与它相邻的边,再以找到的边来搜,继续寻找相连的边。把所有可到达的点都搜过了,就退出寻找,看看有没有点没有搜到。如果有,说明这个图不是连通图,否则是连通图。
代码:
#include <cstdio> using namespace std; int n,a[101][101],l,p,k; int dfs(int x) //深度优先遍历 { for (int i=1;i<=n;i++) if (a[i][x]==1) //如果这个点可以到达 { a[i][x]=0; a[x][i]=0; dfs(i); //递归 } } int main() { scanf("%d",&n); scanf("%d%d",&l,&p); k=l; while (l!=0&&p!=0) { a[l][p]=1; a[p][l]=1; scanf("%d%d",&l,&p); } dfs(k); for (int i=1;i<=n;i++) for (int j=1;j<=n;j++) if (a[i][j]==1) //如果还有点没搜到 { printf("0"); //不是连通图 return 0; } printf("1"); //否则是连通图 return 0; }
相关文章推荐
- SSL_1758 连通图
- SSL-ZYC 1500 最短路上的统计
- SSL-ZYC 2547 圆环
- SSL-ZYC 1455 电子老鼠闯迷宫
- SSL-ZYC 1624 小萨的烦恼
- SSL-ZYC 2133 腾讯大战360
- SSL-ZYC 2324 细胞问题
- SSL-ZYC 2576 平台
- SSL-ZYC 1454 找石油
- SSL-ZYC 1761 城市问题
- SSL-ZYC 逃离洞穴
- SSL-ZYC 奶牛的声音
- SSL-ZYC 2344 刻录光盘
- SSL-ZYC 2406 约数
- (ssl1758)连通图
- SSL-ZYC 抓捕嫌疑犯
- SSL-ZYC 邮票
- SSL-ZYC 2408 比萨
- 连通图-SSL 1758
- SSL-ZYC 堆箱子