【华为OD】C卷真题200分:服务器广播 JavaScript代码实现[思路+代码]

这篇具有很好参考价值的文章主要介绍了【华为OD】C卷真题200分:服务器广播 JavaScript代码实现[思路+代码]。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  C++、java、python、C代码: 

【华为OD】C卷真题200分:服务器广播 C/C++代码实现[思路+代码]-CSDN博客

【华为OD】C卷真题200分:服务器广播 Java代码实现[思路+代码]-CSDN博客

【华为OD】C卷真题200分:服务器广播 python代码实现[思路+代码]-CSDN博客

【华为OD】C卷真题200分:服务器广播 C语言代码实现[思路+代码]-CSDN博客 

题目描述:

服务器连接方式包括直接相连,间接连接。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<=40

输出描述:

输出一个数字,为需要广播的服务器的数量

示例1输入输出示例仅供调试,后台判题数据一般不包含示例

输入

1 0 0
0 1 0
0 0 1

输出

3

说明

3台服务器互不连接,所以需要分别广播这3台服务器

示例2输入输出示例仅供调试,后台判题数据一般不包含示例

输入

1 1
1 1

输出

1

说明

2台服务器相互连接,所以只需要广播其中一台服务器

     879                                                         
                                                            
              +---+                                                          
  3            |   |       ++                               +       +---|   
  |           |   | 3      +                6               +  |   +   |        +
  |      +     |   |       +         +                      +    |  +   |       +
  |      +    |   +---+    +        +        +++++          +   +  +   |        +
  |      +    | +      |   +   +----+        |   |          +   +  +   |        +
  |      +  3 | +      |   +   +    +      2 |   |     2    +   +  +   |        +
  |      +    | +      |   +   +    +        |   |          +   +  +   |        +
  |      +---+ +     |    |  |    +    ----+   |   +---+    |  |  +   |         +
  |      |     +     |    |  |    +    |       |   |   |    |  |  +   |         +
  |    1 |     +     | 8  |  |    +  1 |   |    | 1 |   | 1 |   |  +   |        +
  |      |     +     |    |  |    +    |   |    |   |   |   |   |  +   |        +
  |  +---+     +     +---+   |    ++---+    ++   +---+   +---+   |  +   |        +
  |  |         +         |   |    |         ++              |   |  |+   |        +
  |0 |         +         | 0 |  0 |         ++              | 0 |  |+   |        +
  |  |         +         |   |    |         ++              |   |  |+   |        +
  +---+         +          +-------+                       +---+| +|+   |        +
                +                                                    +   |        +
    0   1   2   3   4   5   6   7   8   9  10  11  12 + v:    w  u m    u 1 0 2 4
 

题目解析:

        使用递归的方式来实现即可

代码实现:


const readline = async () => (await iter.next()).value;

const rl = require("readline").createInterface({ input: process.stdin });
const iter = rl[Symbol.asyncIterator]();

function func(_list, idx, data) {
    _list[idx] = 0;
    for (let i = 0; i < data.length; i++) {
        if (_list[i] !== -1 || i === idx) {
            continue;
        }
        if (data[i][idx] === 1 || data[idx][i] === 1) {
            func(_list, i, data);
        }
    }
}

async function main() {
    const data = [];
    let line = await readline();
    while (line) {
        try {
            data.push(line.split(' ').map(Number));
            line = await readline();
        } catch (error) {
            break;
        }
    }
    let cnt = 0;
    const _list = Array(data.length).fill(-1);
    for (let i = 0; i < data.length; i++) {
        if (_list[i] === -1) {
            cnt++;
            func(_list, i, data);
        }
    }
    console.log(cnt);
    rl.close();
}

main();

【华为OD】C卷真题200分:服务器广播 JavaScript代码实现[思路+代码],杂谈,python,开发语言,华为od,c语言,java,javascript,码蚁软件培训文章来源地址https://www.toymoban.com/news/detail-843216.html

到了这里,关于【华为OD】C卷真题200分:服务器广播 JavaScript代码实现[思路+代码]的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 华为OD机试真题 Java 实现【计算网络信号】【2023Q2 200分】

    华为OD机试真题 Java 实现【计算网络信号】【2023Q2 200分】

    网络信号经过传递会逐层衰减,且遇到阻隔物无法直接穿透,在此情况下需要计算某个位置的网络信号值。 注意: 网络信号可以绕过阻隔物array[m][n]的二维数组代表网格地图,array[i][j]=0代表i行j列是空旷位置; array[i][j]=x(x为正整数)代表i行j列是信号源,信号强度是x; array

    2024年02月05日
    浏览(9)
  • 华为OD机试真题 Java 实现【寻找相似单词】【2023Q2 200分】

    给定一个可存储若干单词的字典,找出指定单词的所有相似单词,并且按照单词名称从小到大排序输出。 单词仅包括字母,但可能大小写并存(大写不一定只出现在首字母)。 相似单词说明: 给定一个单词X,如果通过任意交换单词中字母的位置得到不同的单词Y,那么定义

    2024年02月06日
    浏览(9)
  • 【华为419机考真题】服务器能耗统计,JAVA 题解

    【华为419机考真题】服务器能耗统计,JAVA 题解

    华为 od 2023 | 什么是华为 od,od 薪资待遇,od 机试题清单 华为 OD 机试真题大全,用 Python 解华为机试题 | 机试宝典 【华为 OD 机试】全流程解析+经验分享,题型分享,防作弊指南 华为 od 机试,独家整理 已参加机试人员的实战技巧 服务器有三种运行状态:空载,单任务,多任务

    2024年02月05日
    浏览(18)
  • 华为OD机试真题 Java 实现【对称字符串】【2023Q2 200分】

    华为OD机试真题 Java 实现【对称字符串】【2023Q2 200分】

    对称就是最大的美学,现有一道关于对称字符串的美学。 已知: 第 1 个字符串:R 第 2 个字符串:BR 第 3 个字符串:RBBR 第 4 个字符串:BRRBRBBR 第 5 个字符串:RBBRBRRBBRRBRBBR 相信你已经发现规律了,没错!就是第 i 个字符串 = 第 i - 1 号字符串的取反 + 第 i - 1 号字符串;取反(

    2024年02月06日
    浏览(12)
  • 华为OD机试真题 Java 实现【天然蓄水池】【2023Q1 200分】

    公元2919年,人类终于发现了一颗宜居星球——X星。现想在X星一片连绵起伏的山脉间建一个天然蓄水库,如何选取水库边界,使蓄水量最大? 要求: 山脉用正整数数组s表示,每个元素代表山脉的高度。 选取山脉上两个点作为蓄水库的边界,则边界内的区域可以蓄水,蓄水量

    2024年02月06日
    浏览(14)
  • 华为OD机试真题 C++ 实现【带传送阵的矩阵游离】【2023 Q2 | 200分】

            所有题目均有五种语言实现。C实现目录、C++ 实现目录、Python实现目录、Java实现目录、JavaScript实现目录 n 行 m 列的矩阵,每个位置上有一个元素 你可以上下左右行走,代价是前后两个位置元素值差的绝对值. 另外,你最多可以使用一次传送阵 (只能从一个数跳到另

    2023年04月21日
    浏览(11)
  • 华为OD机试真题 Python 实现【带传送阵的矩阵游离】【2023 Q2 | 200分】

             所有题目均有五种语言实现。 C实现目录 、 C++ 实现目录 、 Python实现目录 、 Java实现目录 、 JavaScript实现目录 n 行 m 列的矩阵,每个位置上有一个元素 你可以上下左右行走,代价是前后两个位置元素值差的绝对值. 另外,你最多可以使用一次传送阵 (只能从一个

    2023年04月26日
    浏览(11)
  • 华为OD机试真题 Java 实现【带传送阵的矩阵游离】【2023 Q2 | 200分】

             所有题目均有五种语言实现。 C实现目录 、 C++ 实现目录 、 Python实现目录 、 Java实现目录 、 JavaScript实现目录 n 行 m 列的矩阵,每个位置上有一个元素 你可以上下左右行走,代价是前后两个位置元素值差的绝对值. 另外,你最多可以使用一次传送阵 (只能从一个

    2023年04月26日
    浏览(15)
  • 华为OD机试真题 JS 实现【带传送阵的矩阵游离】【2023 Q2 | 200分】

       所有题目均有五种语言实现。C语言实现目录、 C++ 实现目录 、 Python实现目录 、 Java实现目录 、 JavaScript实现目录 n 行 m 列的矩阵,每个位置上有一个元素 你可以上下左右行走,代价是前后两个位置元素值差的绝对值. 另外,你最多可以使用一次传送阵 (只能从一个数跳到

    2023年04月23日
    浏览(11)
  • 华为OD机试真题 Java 实现【数字加减游戏】【2023Q1 200分】

    小明在玩一个数字加减游戏,只使用加法或者减法,将一个数字s变成数字t。 每个回合,小明可以用当前的数字加上或减去一个数字。 现在有两种数字可以用来加减,分别为a,其中b没有使用次数限制。 请问小明最少可以用多少次a,才能将数字s变成数字t。 题目保证数字s一

    2024年02月05日
    浏览(11)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包