【秋招机试真题】华为机试0407-1-幼儿园小朋友分组
/*
* 题目描述:
幼儿园老师安排小朋友做游戏,现在需要给N个小朋友进行分组,老师让每个同学写一个名字,代表这位小朋友
想和谁分到一组,请问老师在满足所有小朋友意愿的情况下,最多可以将班级分成多少组?
输入描述:
第一行输入N,0<N<=100000
接下来的N行代表每个小朋友希望和谁分到一组,如“John Jack”,代表John希望和Jack分到一组,两个名字之间
以空格分割,名字本身不存在空格
输出描述:
分组的最多数量
示例:
输入:
3
Tom John
John Jane
Jane Tom
输出:
1
*
说明:华为0407第一题
考察知识点:并查集
解题思路:
1、使用hash表建立每个小朋友的父节点关系表;
2、输出有几个连通图
代码如下:
#include<iostream>
#include<unordered_map>
#include<string>
using namespace std;
class UF {
private:unordered_map<string, string> fri;//vector<string> fri;int circle;
public:UF(int person_num) {circle = person_num;}void add(string s) {//fri.push_back(s);if (fri.find(s) == fri.end()) fri[s] = "";}string find(string s) {if (fri[s] == "") return s;string root = s;while (fri[root] != "") {root = fri[root];}string pre_father;while (root != s) {pre_father = fri[s];fri[s] = root;s = pre_father;}return root;}void connect(string s1, string s2) {if (find(s1) == find(s2)) return;string root_1 = find(s1);string root_2 = find(s2);fri[root_1] = root_2;circle--;}int getCircle() {return circle;}
};int main() {int N;cin >> N;string f1, f2;UF uf(N);for (int i = 0; i < N; ++i) {// john jackcin >> f1 >> f2;uf.add(f1);uf.add(f2);uf.connect(f1, f2);}cout << uf.getCircle() << endl;
}
【秋招机试真题】华为机试0407-1-幼儿园小朋友分组相关推荐
- 【华为OD机试真题 JAVA】寻找身高相近的小朋友
JS版:[华为OD机试真题 JS]寻找身高相近的小朋友 标题:寻找身高相近的小朋友 | 时间限制:1秒 | 内存限制:262144K | 语言限制:不限 小明今年升学到小学一年级,来到新 ...
- 2019年字节跳动2020届秋招在线笔试真题(后端开发工程师)
2019年字节跳动2020届秋招在线笔试真题(后端开发工程师) 第一题 第二题 第三题 第四题 第一题 第二题 第三题 第四题 字节跳动的题,对于我这个菜鸟来说确实很难,对一半都做不到.还得继续努力啊 ...
- 2021字节跳动校招秋招算法面试真题解题报告--leetcode19 删除链表的倒数第 n 个结点,内含7种语言答案
2021字节跳动校招秋招算法面试真题解题报告--leetcode19 删除链表的倒数第 n 个结点,内含7种语言答案 1.题目描述 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点. ...
- 【互联网大厂机试真题 - 华为】九宫格
前言:本专栏将持续更新互联网大厂机试真题,并进行详细的分析与解答,包含完整的代码实现,希望可以帮助到正在努力的你.关于大厂机试流程.面经.面试指导等,如有任何疑问,欢迎联系我,wechat:steve ...
- 【互联网大厂机试真题 - 华为】统计表达式计算时间
前言:本专栏将持续更新互联网大厂机试真题,并进行详细的分析与解答,包含完整的代码实现,希望可以帮助到正在努力的你.关于大厂机试流程.面经.面试指导等,如有任何疑问,欢迎联系我,wechat:steve ...
- 2021字节跳动校招秋招算法面试真题解题报告--leetcode148 排序链表,内含7种语言答案
148.排序链表 1.题目描述 在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序 2.解题报告 针对nlogn的排序算法,主要有快速排序,归并排序和堆排序.其中,堆排序利用了数 ...
- 华东师范大学计算机模拟试题,华东师范大学计算机机试真题
华东师范大学计算机机试真题 2009机试2 计算和的数位2 大写改小写3 素数对4 求最大公约数和最小公倍数6 排序后求位置处的数7 *路由器连接8 *编译原理10 *分开连接13 2010机试17 ...
- 【华为机试真题 Python实现】2022年4、5月高频机试题
文章目录 2022年4.5月高频机试题 机试必须要会的函数 输入输出处理 for 循环 通过下标访问元素 直接迭代访问元素 同时访问下标和元素 while 循环 字符ASSIC码转换 进制转换 绝对值 ...
- 【华为机试真题 Python实现】2022年4季度最新机试题
文章目录 2022年4季度最新机试题 机试必须要会的函数 输入输出处理 for 循环 通过下标访问元素 直接迭代访问元素 同时访问下标和元素 while 循环 字符ASSIC码转换 进制转换 绝对值计 ...
- [华为机试真题][2014]62.去除重复字符并排序
题目 描述: 去除重复字符并排序 运行时间限制: 无限制 内容限制: 无限制 输入: 字符串 输出: 去除重复字符并排序的字符串 样例输入: aabcdefff 样例输出: abcdef 代码 /*- ...
最新文章
- android11有哪种手机,支持安卓11系统的机型有哪些
- P1631 序列合并
- 快速在PowerPoint文档中添加图表
- JavaScript 返回多个值
- Learning to Rank中Pointwise关于PRank算法源码实现
- IdentityServer4【Introduction】之支持的规范
- 液相色谱柱PHP,C18液相色谱柱 - 食品仪器分析 - 食品论坛 - Powered by Discuz!
- MySQL索引对NULL值的处理
- 线性表、顺序表和链表,你还分不清?
- 全网独家:LINUX登录桌面后,如何自动运行自己的应用程序
- 113.库存明细账案例(包含结存数)
- 用python做动画的代码_Python应用 | 三行代码实现GIF动画
- 一、PHP基础-安装PHP集成环境
- 房屋出租系统(第一版)
- [IPhone] 如何将制作图片放大缩小的动作
- 周鸿祎:360 基本不触碰用户数据;苹果与亚马逊被指控合谋推高 iPhone 等产品价格|极客头条
- linux jnlp显示异常,使用headless jnlp将slave连接到master时显示异常
- 输入电阻、输出电阻、特性阻抗、阻抗匹配
- i am freshman
- Java中浮点数原理及精度丢失问题
热门文章
- 计算机主机突然断电有什么影响,台式机突然断电有什么危害
- 无序列表举例html,HTML中的无序列表讲解(菜鸟)
- 让mysql支持emoji表情_让MySQL支持Emoji表情 mysql 5.6
- 背书吧 2021.1.10日记
- 优麒麟mysql_Ubuntu kylin优麒麟下配置Hive环境
- 【英语天天读】优秀的标准
- 读论文:SELFEXPLAIN: A Self-Explaining Architecture for Neural Text Classifiers
- 笔记本突然无线和有线都不能使用
- 解决浏览器滚动条导致的页面闪烁问题
- python 响铃_python响铃符不响_python语法注意事项