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

建设企业网站可信度的具体策略营销方案网站

建设企业网站可信度的具体策略,营销方案网站,wordpress控制弹窗次数代码,电子商务网站建设选择服务器要考虑的因素有题目描述 现有一个学校,学校中有若干个班级,每个班级中有若干个学生,每个学生只会存在于一个班级中。如果学生A和学生B处于一个班级,学生B和学生C处于一个班级,那么我们称学生A和学生C也处于一个班级。 现已知学校中共…

题目描述

现有一个学校,学校中有若干个班级,每个班级中有若干个学生,每个学生只会存在于一个班级中。如果学生A和学生B处于一个班级,学生B和学生C处于一个班级,那么我们称学生A和学生C也处于一个班级。

现已知学校中共n个学生(编号为从1n),并给出m组学生关系(指定两个学生处于一个班级),问总共有多少个班级。

输入描述

第一行两个整数n、m(1≤n≤100,1≤m≤100),分别表示学生个数、学生关系个数;

接下来m行,每行两个整数ab(1≤a≤n,1≤b≤n, a≠b),表示编号为a的学生和编号为b的学生处于一个班级。

输出描述

输出一个整数,表示班级个数。

样例

输入

5 3			// 共5个学生,3对关系
4 2			// 4号学生和2号学生一个班
1 3
2 5

输出

2		// 共两个班

思路分析

  • 这种题目第一想法可能是深度遍历的思想,每次从一个未被访问过的点出发走到底,每走到一个节点都标记为已访问,出发的次数即为班级个数。
  • 不过这种类型的题目也可以使用并查集来解决,并且效果可能会更好,并查集的基本思路如下👇:
    1. 设立数组fatherfather[son]存放的是son的父亲节点【即是一个整体的】
    2. 初始son的父亲节点为它本身,也就是father[son]=son
    3. 当传入一对关系时【如ab节点为一个整体】,a的父亲就会由b的父亲来担任【共享父亲,b的父亲由a的父亲担任也无妨】,从而使得独立的两个小整体融合为一个大整体,这个操作我们称之为Union
  • 此题只需要顺着并查集的基本思路,设立数组father将父子关系进行存储即可,最后统计father[i]==i的节点数即为班级个数

代码实现

package homework;import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);// n 个学生int n = scanner.nextInt();int father[] = new int[n];for (int i = 0; i < n; i++) {father[i] = i;}// m 组关系int m = scanner.nextInt();for (int i = 0; i < m; i++) {// 减1是为了使得编号与数组下标对应上int a = scanner.nextInt() - 1;int b = scanner.nextInt() - 1;// a 与 b 融合为一个整体Union(father, a, b);}int sum = 0;for (int i = 0; i < n; i++) {if (father[i] == i) {sum++;}}System.out.println(sum);}// 寻找下标 son 的父亲节点public static int FindFather(int father[], int son) {if (father[son] == son) {// 自己是自己的爸爸return son;}// 找到son真正的爸爸,并赋值回来【这是个剪枝操作,可以提高查找效率】father[son] = FindFather(father, father[son]);return father[son];}public static void Union(int arr[], int a, int b) {int fatherA = FindFather(arr, a);int fatherB = FindFather(arr, b);// 两个人的爸爸不同,把其中一个的爸爸进行赋值if (fatherA != fatherB) {arr[fatherA] = fatherB;}}}
http://www.mmbaike.com/news/53121.html

相关文章:

  • 网站设计怎么做超链接店铺在百度免费定位
  • 网站建设案例精粹搜索引擎收录查询
  • 怎样做卡盟网站企业网站设计与实现论文
  • 网站建设的公司做销售重庆电子商务seo
  • 海誉网站定制厦门人才网官网招聘
  • 备案不关闭网站的方法百度云盘搜索引擎入口
  • 做网站设计的seo什么意思
  • 网站中常用的英文字体运营推广渠道有哪些
  • jsp可以做网站首页吗关键词搜索量排名
  • mit网站可以做app什么是营销渠道
  • 佛山网站建设公司88小红书推广引流软件
  • 建立网站找什么公司全网营销代运营
  • 襄阳网站建设营销开发一个网站
  • 个人网站建设详细教程中和seo公司
  • 网站建设排名优化技巧整站seo优化
  • 网站建设的基本术语凡科建站平台
  • 单页面网站建设网站建设平台有哪些
  • 南京大型门户网站建设三只松鼠的软文范例
  • 网站建设公司ipo内容营销策略有哪些
  • 校园网站建设需要哪些网站seo推广公司靠谱吗
  • 能力建设和继续教育中心网站应用商店关键词优化
  • 网站建设都用哪些软件成都网站改版优化
  • 平面设计手机作图软件seo公司网站
  • 温州做网站 掌熊号合肥网站优化平台
  • 常用的网站开发语言如何做好网络营销工作
  • reactjs wordpressseovip培训
  • 青岛正规网站建设哪家便宜如何建立一个网站平台
  • 广州网站建设50强名单seo外包是什么意思
  • 网站404页面的作用seo关键词排名报价
  • 网站建设的后期服务要包括什么软件巨量引擎广告投放