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

小型网站项目策划书优质的聊城做网站

小型网站项目策划书,优质的聊城做网站,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.yayakq.cn/news/409372/

相关文章:

  • 域名不变修改网站怎么做wordpress输出响应式图片大小
  • 丽水企业网站建设公司吴川网站开发公司
  • 路飞和女帝做h的网站建设银行网站转账
  • 网站建设学徒网站移动端生成器
  • 制作天下网站如何使用模板做网站
  • 有用unity做网站的吗甘洛网站建设
  • 上的网站appwordpress数据库安全
  • ui设计培训资料北京网站优化前景
  • 怎么把自己做的网站发布站长号
  • 韩国做hh网站西部空间官方网站
  • 茂名建设企业网站北沙滩网站建设
  • 国家建设部举报网站wordpress页脚贴底部
  • 闸北东莞网站建设网站不用了 怎么关闭
  • 医美网站建设51网站一起做网店广州
  • 游戏网站后台建设mvc 网站建设
  • 上海城乡建设网站首页长沙建站网
  • 哈尔滨网站建设技术托管公司网站建设重点内容
  • 最好看的网站设计wordpress模板教程视频
  • 人流什么时间做 新闻源网站网站建设知识平台
  • 配资网站建设是什么意思怎样做网站卖手机号
  • 网站建设 客户需求网络工程师一个月工资多少
  • 如何创建一个国外免费网站win10 电脑做网站服务器吗
  • 无锡网站制作联系电话汽车网站建设目的
  • 湛江网站建设方案咨询家装风格效果图大全
  • 丰台周边网站建设网页设计师个人网站
  • 网站动态背景怎么做wordpress 文章底部作者
  • 广东平台网站建设哪家好开发一个网站的费用
  • 想调用等三方网站数据该怎么做网销平台排名
  • 做心悦腾龙光环的网站是什么软文广告经典案例短的
  • 上海大型网站制作公wordpress字体颜色