消息扩散

题目描述

假设已知有m个群,其中一个人把一条消息发到他自己所在的所有群里,这些群里面的每个人又将消息再次转发到他自己所在的群里,问最后有几个人收到了该消息。

解题思路

在群这一层级上进行操作:将所有群组存储于一个list,通过剔除收到消息的群来实现对收到消息的人删减,最后将总人数与剩余人数相减完成人数统计。相较对人做操作,实现起来更简单。

python代码

first_name = input()
num = int(input())#初始化:群组的列表;所有人名的集合;第一个人发出信息后收到信息的人的集合;最终未收到信息的人的集合
club_list, name_set, mes_set, res_set = list(), set(), set(), set()for i in range(num):#读入群组列表name_list = input().split(",")club_list.append(name_list)name_set.update(name_list)for club in club_list:#将第一个人所在的群组从club_list移除并获取mes_setif first_name in club:mes_set.update(club)  #获取mes_setclub_list.remove(club)    #将第一个人所在的群从club_list移除for name in mes_set:#将mes_set中所有人名所在群组从club_list移除for club in club_list:if name in club:club_list.remove(club)for club in club_list:#获取剩余群组中人名的集合res_set.update(club)print(len(name_set) - len(res_set))  #输出处理前后集合人数差

2019华为机试题 消息扩散相关推荐

  1. 2019华为机试题 解析文本

    解析文本 题目描述 有一种表格数据需要存储在文件中,表格中的每一行,由若干个字段组成,每个字段可以是整数或字符串,设计一种存储格式,采用文本的方式对表格数据进行存储.文本文件中的每一行,代表了表格数据 ...

  2. 华为电脑c语言总是错误,关于华为机试题求代码!解决方法

    关于华为机试题求代码!!! n个字符串,1 如n=3 1.what is local bus? 2.this is local bus. 3.local bus is name sdhfj. 那么最长 ...

  3. 牛客网华为机试题(JavaScript)

    最近在牛客网刷华为机试题,遇到了很多坑,记录: 每一道题目都经过自己实践验证 华为机试题 牛客网在javascript V8引擎下处理输入输出如下: 利用了readline()接收输入的每一行,多行处 ...

  4. 【牛客网】华为机试题(00、C++版本)

    华为机试题,本来以为对一些基础的程序还是有点信心的:不过不练不知道,一练吓一跳.平时虽然也都码程序,但是一到机试题就各种乱七八的不适应.还是要加强一下练习. 1.字符串最后一个单词的长度 题目描述:计 ...

  5. 【牛客网-华为机试题目录】持续更新中

    文章目录 博主精品专栏导航 华为机试题:HJ80 整型数组合并(python) 华为机试题:HJ76 尼科彻斯定理(python) 华为机试题:HJ73 计算日期到天数转换(python) 华为机试题 ...

  6. 华为机试题库+题解【C语言版】

    文章目录 前言 1.字符串最后一个单词的长度[***] 描述 输入描述 输出描述 示例 解题代码 2.计算某字符出现次数[****] 描述 输入描述 输出描述 示例 解题代码 3. 明明的随机数[** ...

  7. 华为机试python编程题_牛客网华为机试题之Python解法

    牛客网华为机试题之Python解法 第1题 字符串最后一个单词的长度 a = input().split(" ") print(len(a[-1])) 第2题 计算字符个数 a = ...

  8. 【华为机试题分析-C/C++】知识点分类总结

    专栏地址:https://blog.csdn.net/super828/category_10825347.html 字符串 [华为机试题分析] 1 字符串最后一个单词的长度 [华为机试题分析] 2 ...

  9. 【华为机试题分析】 4 字符串分割

    我的首发平台是公众号[CodeAllen],学习交流QQ群:736386324,本文版权归作者所有,转载请注明出处 [华为机试题分析] 4 字符串分割 #include <stdio.h> ...

  10. 华为机试题-20190417

    华为某次Java机试题 介绍 1 2 3 介绍 本次机试题,发生时间:2019年04月17日,19:00. 上一次试题,发生时间:2019年04月03日,19:00. 本次机试3题,均AC. 1 题目 ...

最新文章

  1. Python学习笔记: Python 标准库概览
  2. GDCM:DICOM文件转储ADAC文件的测试程序
  3. 大脚导入配置选择哪个文件_有史以来最全的 IntelliJ IDEA 配置图解
  4. springboot redis shiro 实现 单点登录
  5. 堆-动态的排序(洛谷1801-黑匣子)
  6. Wrong FS: hdfs://......, expected: file:///
  7. circ2Traits:环状RNA相关疾病数据库
  8. 排水管网计算机模拟,基于SWMM的城市合流制排水管网计算机模拟方法.ppt
  9. 统计检验P值代表什么及统计显著性检验方法原理
  10. 云原生架构下的 API 网关实践: Kong (三)
  11. 简易记账开发笔记之GridLayout
  12. 城市夜空三(续)公布聊天记录第一部分
  13. Cisco Packet Tracer思科模拟器交换机的VTP技术
  14. 【葡萄城报表案例分享】项目施工进度报告 – 树形报表
  15. Javalin:一个轻量的 Web Framework
  16. 畅游CTO洪晓健:BW和CE3游戏引擎各取所长
  17. 访问局域网内SQL Server数据库方法
  18. tensorflow 参数clipping
  19. HTML5视频_bootstrap-张晓飞-专题视频课程
  20. win7的IE图标不见了 怎么找回?

热门文章

  1. Ubuntu16.04安装搜狗输入法
  2. Word删除表格后的空白页
  3. MATLAB中能对三角函数降幂嘛,三角函数降幂公式是什么
  4. PIC单片机应用开发实践教程(四): MPLAB X IDE Debug
  5. 配置ClearCase LT
  6. 电路分析基础知识点总结
  7. 四年磨一剑未能成就神话 海思K3的悲剧2009(转自www.study-bbs.com)
  8. 编程珠玑第三章笔记加习题解答
  9. 数据挖掘问题进行细分,主要分为哪四类问题
  10. 计算机操作系统复习题