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

帮别人起名 做ppt的网站免费好用的网站

帮别人起名 做ppt的网站,免费好用的网站,wordpress 支付宝打赏,中山建设公司网站题目部分 题目服务器广播难度难题目说明服务器连接方式包括直接相连,间接连接。A 和 B 直接连接,B 和 C 直接连接,则 A 和 C 间接连接。直接连接和间接连接都可以发送广播。 给出一个 N * N 数组,代表 N 个服务器,mat…

题目部分

题目服务器广播
难度
题目说明服务器连接方式包括直接相连,间接连接。A 和 B 直接连接,B 和 C 直接连接,则 A 和 C 间接连接。直接连接和间接连接都可以发送广播。
给出一个 N * N 数组,代表 N 个服务器,matrix[i][j] == 1,则代表 i 和 j 直接连接;不等于 1 时,代表 i 和 j 不直接连接。
matrix[i][i] == 1,即自己和自己直接连接。matrix[i][j] == matrix[j][i]。
计算初始需要给几台服务器广播,才可以使每个服务器都收到广播。
输入描述输入描述输入为 N 行,每行有 N 个数字,为 0 或 1,由空格分隔,构成 N * N 的数组,N 的范围为 1 <= N <= 50。
输出描述输出一个数字,为需要广播的服务器数量。
补充说明补充说明
------------------------------------------------------
示例
示例1
输入1 0 0
0 1 0
0 0 1
输出3
说明3 台服务器相互不连接,所以需要分别广播这 3 台服务器。
示例2
输入1 1 
1 1
输出1
说明2 台服务器相互连接,所以只需要广播其中一台服务器。


解读与分析

题目解读

在矩阵中,直接连接的服务器用 1 表示,不连接的用 0 表示,连接性是传递的。把相互连接的服务器放到同一个集合中,不连接的服务器在不同的集合中。求一共有多少个集合。

分析与思路

本题虽标记为“难”,实际很简单。

逐一这个服务器,采用深度或广度遍历,逐一把遍历后连接的服务器放到同一个集合中。最后,集合的个数就是需要广播的服务器台数。


代码实现

Java代码

import java.util.Scanner;
import java.util.Set;
import java.util.HashSet;
import java.util.List;
import java.util.ArrayList;/*** 服务器广播* * @since 2023.10.15* @version 0.1* @author Frank**/
public class ServerBroadcastCount {public static void main(String[] args) {Scanner sc = new Scanner(System.in);while (sc.hasNext()) {String input = sc.nextLine();String[] strNumbers = input.split(" ");int count = strNumbers.length;int[][] numbers = new int[count][count];for (int i = 0; i < count; i++) {if (i != 0) {// 首行已读取input = sc.nextLine();strNumbers = input.split(" ");}int[] lineNum = new int[count];for (int j = 0; j < count; j++) {lineNum[j] = Integer.parseInt(strNumbers[j]);}numbers[i] = lineNum;}processServerBroadcastCount(numbers);}}private static void processServerBroadcastCount( int numbers[][] ){Set<Integer> usedNumber = new HashSet<Integer>();List<Set<Integer>> connectionList = new ArrayList<Set<Integer>>();for( int i = 0; i < numbers.length; i ++ ){if( usedNumber.contains( i ) ){continue;}Set<Integer> newConnectionSet = new HashSet<Integer>();usedNumber.add( i );newConnectionSet.add( i );initConnectionSet( i, usedNumber, newConnectionSet, numbers);connectionList.add(newConnectionSet );}System.out.println( connectionList.size() );}private static void initConnectionSet(int idx, Set<Integer> usedNumber, Set<Integer> newConnectionSet,int numbers[][]) {for( int i = 0; i < numbers.length; i ++ ){if( i == idx ){continue;}int idxCheck = numbers[idx][i];if( usedNumber.contains( i ) || idxCheck == 0 ){continue;}usedNumber.add( i );newConnectionSet.add( i );initConnectionSet( i, usedNumber, newConnectionSet, numbers);}}}

JavaScript代码

const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;
void async function() {while (line = await readline()) {var strNumbers = line.split(" ");var count = strNumbers.length;var numbers = new Array();for (var i = 0; i < count; i++) {if (i != 0) {// 首行已读取line = await readline()strNumbers = line.split(" ");}var lineNum = new Array();for (var j = 0; j < count; j++) {lineNum[j] = parseInt(strNumbers[j]);}numbers[i] = lineNum;}processServerBroadcastCount(numbers);}
}();function processServerBroadcastCount(numbers) {var usedNumber = new Set();var connectionList = new Array();for (var i = 0; i < numbers.length; i++) {if (usedNumber.has(i)) {continue;}var newConnectionSet = new Set();usedNumber.add(i);newConnectionSet.add(i);initConnectionSet(i, usedNumber, newConnectionSet, numbers);connectionList.push(newConnectionSet);}console.log(connectionList.length);
}function initConnectionSet(idx, usedNumber, newConnectionSet,numbers) {for (var i = 0; i < numbers.length; i++) {if (i == idx) {continue;}var idxCheck = numbers[idx][i];if (usedNumber.has(i) || idxCheck == 0) {continue;}usedNumber.add(i);newConnectionSet.add(i);initConnectionSet(i, usedNumber, newConnectionSet, numbers);}
}

(完)

http://www.ds6.com.cn/news/119925.html

相关文章:

  • 支付网站开发软文的目的是什么
  • 做网站用到什么软件百度关键词搜索指数查询
  • 网站页面设计模板图片seo比较好的优化方法
  • 学做网站看什么深圳网站设计专家乐云seo
  • 淘宝做个网站多少钱百度关键词优化师
  • 自己的网站怎么编辑器百度账号怎么改用户名
  • 哪家公司做网站便宜nba最快的绝杀
  • 网站开发工程师需要什么技术关键词的优化和推广
  • 网站做支付功能seo如何挖掘关键词
  • 网站建设普通发票税点广告资源网
  • 做网站所需要的代码搜索引擎seo关键词优化方法
  • 公司做网站推广今日热搜前十名
  • 电子商务网站建设的需求关键词搜索趋势
  • 简单的购物网站怎么做网页开发公司
  • 济南网站建设yigeseo360渠道推广系统
  • 上海弄网站的国内广告投放平台
  • 汕尾海丰建设规划局网站小网站关键词搜什么
  • html网站设计模板下载2023今日新闻头条
  • 网站后台如何修改新闻发布时间个人博客seo
  • 门户网站是啥意思网页设计收费标准
  • 去什么网站可以做ctf的题目推广赚钱app
  • 计算机培训课程网站seo分析案例
  • 企业网站开发公司有哪些百度爱采购推广怎么收费
  • 国内外贸公司前十名福州seo服务
  • 南京疾控最新通告今天seo点击软件
  • 国外美女图片 网站源码网页设计与制作软件有哪些
  • 自己网站上做淘宝搜索引擎网络市场的四大特点
  • 专业网站制作公司排名百度seo运营工作内容
  • 用什么语言做网站网络广告案例
  • 开建筑公司需要什么条件关键词优化排名的步骤