智能护理中心系统将辖下的护理点分属若干个大区,例如华东区、华北区等;每个大区又分若干个省来进行管理;省又分市,等等。我们将所有这些有管理或护理功能的单位称为“管理结点”。现在已知每位老人由唯一的一个管理结点负责,每个管理结点属于唯一的上级管理结点管辖。你需要实现一个功能,来统计任何一个管理结点所负责照看的老人的数量。

注意这是一个动态问题,即随时可能有老人加入某个管理结点,并且老人是有可能从一个管理结点换到另一个管理结点去的。

输入格式:

输入在第一行中给出 2 个正整数:N(≤104)是老人的总数量,即老人们从 1 到 N 编号;M(≤105)是归属关系的总数。

接下来是 M 行,每行给出一对归属关系,格式为:

A B

表示 A 归属于 BA 或 B 如果是某个管理结点,则用不超过 4 个大写英文字母表示其名称;如果是某位老人,则用老人的编号表示。这里每个 A 保证只有唯一的上级归属 B,且只有这个中心系统本身是没有上级归属的。此外,输入保证没有老人自己承担管理结点的角色,即 B 一定是一个管理结点,不可能是老人的编号。但一个管理结点既可以管辖下级结点,也可以直接护理一部分老人。

随后每行给出一个指令,格式为:

指令 内容

如果 指令 为 T,则表示有老人要入院或转院,内容 是某老人的编号和要去的管理结点的名称,以空格分隔;如果 指令 为 Q,则 内容 是一个管理结点的名称,意思是统计这个结点所负责照看的老人的数量;如果 指令 为 E,则表示输入结束。题目保证指令总数不会超过 100 个。

输出格式:

对每个 T 指令,将对应的老人转存到对应的管理结点名下;对每个 Q 指令,在一行中输出对应管理结点所负责照看的老人的数量。读到 E 指令就结束程序。

输入样例:

10 23
EAST CNTR
ZJ EAST
SD EAST
WEST CNTR
SX WEST
HZ ZJ
JN SD
2 JN
8 JTH
6 XAHP
4 ZDYH
5 ZDYH
ZDYH HZ
HUZ ZJ
JX ZJ
1 JX
3 JN
WZ ZJ
XAHP XIAN
XIAN SX
YL SX
JTH XIAN
7 XAHP
Q EAST
T 1 YL
Q EAST
Q SX
T 8 ZDYH
Q HZ
Q HUZ
T 10 XAHP
Q CNTR
E

输出样例:

5
4
4
3
0
9

代码长度限制

16 KB

Java (javac)

时间限制

2500 ms

内存限制

512 MB

其他编译器

时间限制

2500 ms

内存限制

64 MB

代码:

#include<bits/stdc++.h>
using namespace std;
int n, m;
unordered_map<string, string>older; //老人和他的管理员
unordered_map<string, vector<string>>rooter; //每个管理员手下的管理员们
unordered_map<string, int>olders; //每个管理员管理的老人数量
//用dfs会溢出,所以用bfs
int getSum(string r) {int sum = 0;queue<string>names;//用于存放r和他手下的所有的管理员姓名names.push(r);//将r的姓名存入//如果names==0了,说明没有管理员了while (names.size()) {string name = names.front(); //获取队首的姓名,用于查询names.pop();//队首已经被使用了,将它删除sum += olders[name]; //加上 name 这个管理员管理的老人数量for (string i : rooter[name]) {names.push(i);//将name这个管理员手下的所有管理员也添加到队列中}}return sum;
}
int main() {cin >> n >> m;while (m--) {string a, b;cin >> a >> b;if (a[0] >= 'A' && a[0] <= 'Z') {rooter[b].push_back(a);//给管理员 b 添加手下 a;} else {older[a] = b; //将老人a的管理员设置为b++olders[b];//b管理的老人数量+1}}char c;while (cin >> c) {string o, r;if (c == 'T') {//老人要入院或转院cin >> o >> r;string name = older[o]; //获取老人的管理员姓名if (name != "")--olders[name]; //如果老人有管理员,将对应管理员的老人数量-1older[o] = r; //将老人的管理员姓名设置为r++olders[r];// 管理员r的老人数量+1} else if (c == 'Q') {cin >> r;cout << getSum(r) << endl;} else break;}return 0;
}

L2-3 智能护理中心统计相关推荐

  1. 2022 RoboCom 世界机器人开发者大赛-高职组 国赛(RC-v3 智能护理中心统计)

    RC-v3 智能护理中心统计 题意: 给出各管理节点的关系,和每个管理节点的照护老人数量. 两种操作:1. 转院. 2. 查询 该管理节点以下总的老人人数. 知识点: 树. #include<b ...

  2. PTA 智能护理中心统计

    智能护理中心系统将辖下的护理点分属若干个大区,例如华东区.华北区等:每个大区又分若干个省来进行管理:省又分市,等等.我们将所有这些有管理或护理功能的单位称为"管理结点".现在已知每 ...

  3. 智慧养老解决方案之“RFID养老院智能护理系统“打造临床医护管家

    ​ 近年来,我国医患矛盾加剧.因养老院护理不当引发的医患纠纷屡有发生.苏州新导智能与无锡市第三人民养老院合作研发,在国内首次推出基于超高频无线射频识别(RFID)技术和云计算中间件管理平台的智慧养老解 ...

  4. 数字冰雹 数字孪生城市智能运营中心(IOC)可视化决策系统

    产品概述  数字时代,以5G通讯.物联网.云计算.大数据.人工智能为代表的新一代信息技术蓬勃发展,深入影响着城市运行的方方面面,广泛应用于数字城管.智慧社区.应急管理.智慧环保等领域,推动城市管理向数 ...

  5. AI智能呼叫中心系统,主要应用场景有哪些?

    互联网智能时代,销售人员不再每天拨打数百个电话,当前呼叫中心电话系统被企业常用在电销行业.金融行业.保险.贷款催收行业等外呼销售行业.由传统的呼叫中心基础上不断的进行升级和改善,逐渐演变为人工智能电话 ...

  6. 弘玑Cyclone RPA助力东兴证券建立智能财务中心,以自动化为业务提质增效

    当前,飞速发展的数字技术可以助力企业建立智能财务服务中心,成为智能化转型的催化剂. 在此大背景下,弘玑Cyclone携手东兴证券股份有限公司(以下简称"东兴证券"),为实现更高成本 ...

  7. 基于人工智能和物联网的“智能护理

    导语 本文将以老年智能护理为例解释如何使用Waylay平台结合不同的AI技术.该项目的核心目标是提供一种解决方案:向护理人员和家人确认他们所照顾的人员健康情况.下图介绍了所有相关的参与者. 在这个用例 ...

  8. 华为服务器bmc默认地址_智能数据中心和智慧园区:华为的单点突破与全局效应...

    如果说过去的数据中心和园区的更新发展主要遵循摩尔定律的话,那么在如今5G.物联网.大数据.人工智能等新ICT技术喷薄而发的时代中,数据已经成为数字化世界中的生产资料,其重要性与日俱增.因此,数据中心和 ...

  9. 人工智能在语音和数字图像处理领域有哪些具体化应用_智能呼叫中心系统有哪些优势...

    近年来,随着科技的发展特别是人工智能技术.云计算.大数据的到来,新技术逐渐渗入人们日常生活中的各行各业里面,以机器人来代替人工处理繁重的任务变得普遍.在人工智能时代下,新一代智能呼叫中心系统应运而生, ...

最新文章

  1. 手动增加swap空间
  2. 编译有哪些阶段,动态链接和静态链接的区别 c++
  3. 解决jodconverter 2.2.1 版本不支持docx、xlsx、pptx 转换成PDF格式异常
  4. springboot整合activiti报错[processes/]不存在解决方案
  5. hyperion卫星重访时间_观摩卫星发射|2020第四届全球物联网大会上让我们一起去“放星”...
  6. js 经常用到的键盘码
  7. linux目标文件链接命令,ld 命令:将目标文件链接为可执行程序 - dute.org
  8. rsync 安装 配置 实例
  9. qt qstandarditemmodel rowcount获取行数不正确_MIL+QT实践教程十
  10. 模组管理器功能模块热插拔流程
  11. 计算机免费取名,电脑免费取名
  12. python 图表控件_10款好用的.NET图表控件推荐
  13. 笔记本计算机故障与诊断,笔记本电脑维护与故障诊断
  14. 【JSTL】choose标签
  15. HDU - 6438 优先队列,+贪心。
  16. payscale 美国计算机专业,2016PayScale美国大学排名:计算机专业
  17. 一款利用PIN管设计的可调衰减器
  18. 细说内网横向工具WMIHACK
  19. MSF Project Management Discipline
  20. [台剧]《倚天屠龙记》永远的经典——孙兴版杨逍

热门文章

  1. Scratch闯关游戏「离子反应」游戏规则
  2. itk中的基本图像操作
  3. 计算机控制d a数模转换实验,实验一 DA数模转换实验
  4. PINDEL检测结构变异
  5. 用Python制作酷炫的可视化大屏,特简单!
  6. 电视屏幕测试方法汇总 教你如何自己进行屏幕测试
  7. 全球国家或者地区名称中英文对照
  8. python撤回快捷键大全_PythonIDEPyCharm的快捷键大全
  9. java hook xposed_Art 模式 实现Xposed Native注入
  10. 信泰人寿与您携手共同防范非法集资风险