当前位置: 首页 > wzjs >正文

产品开发流程8个步骤案例seo关键词排名优

产品开发流程8个步骤案例,seo关键词排名优,在线网页游戏网站,怎么样创建自己的小程序判断一个图中是否有环 问题描述 给一个以0 0结尾的整数对列表,除0 0外的每两个整数表示一条连接了这两个节点的边。假设节点编号不超过100000大于0。你只要判断由这些节点和边构成的图中是否存在环。存在输出YES,不存在输出NO。 输入样例1 6 8 5 3 …

判断一个图中是否有环

问题描述

给一个以0 0结尾的整数对列表,除0 0外的每两个整数表示一条连接了这两个节点的边。假设节点编号不超过100000大于0。你只要判断由这些节点和边构成的图中是否存在环。存在输出YES,不存在输出NO。

在这里插入图片描述

输入样例1

6 8  5 3  5 2  6 4 5 6  0 0

输出样例1

NO

输入样例2

8 1  7 3  6 2  8 9  7 5 7 4  7 8  7 6  0 0

输出样例2

NO

输入样例3

3 8  6 8  6 4 5 3  5 6  5 2  0 0

输出样例3

YES

输入样例4

1 2 3 4 0 0

输出样例4

NO

输入样例5

空图没有环

0 0

输出样例5

NO

c++代码

#include<bits/stdc++.h>using namespace std;int a, b;
int arr[100001];
bool key = false;int myfind(int x) {int root = x;while(root != arr[root]) root = arr[root];int i = x, j;while(i != root) {j = arr[i];arr[i] = root;i = j;}return root;
}void mymerge(int x, int y) {x = myfind(x), y = myfind(y);if (x != y) arr[y] = arr[x];
}int main() {for (int i = 1; i <= 100000; i++) arr[i] = i;while(true) {scanf("%d %d", &a, &b);if (a == 0 && b == 0) break;if (key) continue;int x = myfind(a), y = myfind(b);if (x == y) key = true;else mymerge(a, b);}if (key) printf("YES");else printf("NO");return 0;
}//by wqs

算法解析

给每个点一个初始的编号,并初始化所有节点的父亲为本身。每新加入一条边就把边相连的两个集合合并到一起,如果边相连的集合原本就是同一个,说明已经成环。

http://www.dtcms.com/wzjs/511461.html

相关文章:

  • 会员中心网站模板友情网站
  • 商丘网站建设和制作目前最火的自媒体平台
  • 长沙建设品牌网站2345网址导航设置
  • 网站开发笔记本网站推广优化怎么做最好
  • 网站开发合同范本seo排名优化软件免费
  • 优化一个网站可以做多少关键词线下推广的渠道和方法
  • 江苏省工程建设招标网站商务软文写作
  • 个人网站建设如何赚钱百度收录技巧
  • 网站首页新增悬浮小窗怎么做一般网站推广要多少钱
  • 做装饰画的行业网站百度推广怎么联系
  • 视频网站怎么做压力测试上海谷歌优化
  • 成都精品网站建设如何自己制作一个网站
  • 手机wordpress怎么保存图片青岛网站优化公司哪家好
  • 牡丹江网站制作网站seo优化服务商
  • godaddy服务器做网站关键词排名优化教程
  • 小的电商网站外链代发平台
  • 西安有几家做网站淘宝运营培训机构
  • 营销型集团网站建设杭州网络优化公司排名
  • 免费自己做网站百度网盘搜索引擎官方入口
  • 中国建设教育协会官方网站独立网站怎么做
  • 网站防采集 如何采集网站seo文章该怎么写
  • 自己这么做网站百色seo关键词优化公司
  • 做名片的网站叫什么来着恶意点击推广神器
  • 做网站哪家公司好苏州网站建设公司简介
  • 网站内的新闻怎样做链接宁波seo外包优化
  • 电子商务的网站设计刷评论网站推广
  • 企业网站建设亮点兰州seo
  • 有经验的永州网站建设湖北网络营销网站
  • qq自助下单平台网站东莞seo外包公司
  • 用织梦系统做网站网址推广