Sicily-1063

一.题意

一个员工是另外一个员工的老板必须满足的条件是作为老板的员工的薪水salary必须大于这个员工,而且作为老板的员工的身高height要大于等于这个员工。首先按照薪水的多少从小到大进行排序,然后找每一个员工的直属老板。注意老板的下属的数量为其下属的下属之和。

二.用结构体。为了方便查询再加设一个按id号排序的数组。

三. 注意员工老板的后代包括这些员工后代的和。每次vector都要清空一次。

四. 代码

 1 //
 2 //  main.cpp
 3 //  sicily-1063
 4 //
 5 //  Created by ashley on 14-10-13.
 6 //  Copyright (c) 2014年 ashley. All rights reserved.
 7 //
 8 
 9 #include <iostream>
10 #include <vector>
11 #include <algorithm>
12 using namespace std;
13 typedef struct
14 {
15     int idNumber;
16     int salary;
17     int height;
18     int bossId;
19     int subordinates;
20 }employee;
21 vector<employee> allEmployees;
22 employee sortByID[1000000];
23 int query[200];
24 bool compare(employee left, employee right)
25 {
26     return left.salary < right.salary;
27 }
28 int main(int argc, const char * argv[])
29 {
30     int cases;
31     int employeeCounter, queryCounter;
32     int id, sal, hei;
33     cin >> cases;
34     while (cases--) {
35         allEmployees.clear();
36         cin >> employeeCounter >> queryCounter;
37         for (int i = 0; i < employeeCounter; i++) {
38             cin >> id >> sal >> hei;
39             allEmployees.push_back(employee{id, sal, hei, 0, 0});
40         }
41         for (int i = 0; i < queryCounter; i++) {
42             cin >> query[i];
43         }
44         sort(allEmployees.begin(), allEmployees.begin() + employeeCounter, compare);
45         //找boss
46         for (int i = 0; i < employeeCounter; i++) {
47             int key = -1;
48             for (int j = i + 1; j < employeeCounter; j++) {
49                 if (allEmployees[j].height >= allEmployees[i].height) {
50                     key = j;
51                     break;
52                 }
53             }
54             if (key != -1) {
55                 allEmployees[i].bossId = allEmployees[key].idNumber;
56                 allEmployees[key].subordinates = allEmployees[key].subordinates + allEmployees[i].subordinates + 1;
57             }
58             sortByID[allEmployees[i].idNumber] = allEmployees[i];
59         }
60         for (int i = 0; i < queryCounter; i++) {
61             cout << sortByID[query[i]].bossId << " " << sortByID[query[i]].subordinates << endl;
62         }
63     }
64     return 0;
65 }

 

转载于:https://www.cnblogs.com/ashley-/p/4151817.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/472660.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

流畅的Python 1. Python数据模型(特殊方法 __func__())

文章目录1. __getitem__()、__len__() 方法2. 特殊方法1. __getitem__()、__len__() 方法 举一个扑克牌的例子 import collectionsCard collections.namedtuple(Card_name, [rank, suit]) print(Card.__doc__) # Card_name(rank, suit)class FrenchDeck:ranks [str(n) for …

diskfileitemfactory 需要的包_浅析电动汽车电池包低压线束设计及制造

点击上方右侧“EDC电驱未来”可订阅哦&#xff01;般的电池包低压线束承载着模组通信、模组采样和电池管理等功能。电池包低压线束一般分为模组通信线束、模组采样线束、BMS线束等。这里结合实际工作中的经历和遇到的困扰&#xff0c;主要分析和探讨SUV纯电动汽车电池包低压线束…

[顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,岂一日之功)...

[顶]ORACLE PL/SQL编程详解之二&#xff1a;PL/SQL块结构和组成元素(为山九仞&#xff0c;岂一日之功) 原文:[顶]ORACLE PL/SQL编程详解之二&#xff1a;PL/SQL块结构和组成元素(为山九仞&#xff0c;岂一日之功)[顶]ORACLE PL/SQL编程详解之二&#xff1a; PL/SQL块结构和组成…

xgboost实例_XGBoost超详细推导,终于有人讲明白了!

- XGB中树结点分裂的依据是什么&#xff1f;- 如何计算树节点的权值&#xff1f;- 为防止过拟合&#xff0c;XGB做了哪些改进&#xff1f;相信看到这篇文章的各位对XGBoost都不陌生&#xff0c;的确&#xff0c;XGBoost不仅是各大数据科学比赛的必杀武器&#xff0c;在实际工作…

修改dts后重编译_「正点原子FPGA连载」第二十章另一种方式编译ZYNQ镜像

1)摘自【正点原子】领航者 ZYNQ 之linux驱动开发指南2)实验平台&#xff1a;正点原子领航者ZYNQ开发板3)平台购买地址&#xff1a;https://item.taobao.com/item.htm?&id6061601087614)全套实验源码手册视频下载:http://www.openedv.com/docs/boards/fpga/zdyz_linhanz.ht…

流畅的Python 2. 数据结构 - 序列构成的数组

文章目录1. 内置序列2. 列表推导 []、生成器() 表达式3. 元组 tuple4. 切片5. , * 操作6. 增量赋值7. 排序8. bisect管理已排序序列8.1 用 bisect.bisect 二分搜索8.2 用 bisect.insort 二分插入新元素9. 列表的替代9.1 数组9.2 内存视图9.3 NumPy、SciPy9.4 队列1. 内置序列 …

python1到n的所有排列_非递归输出1-N的全排列的方法详解

下面小编就为大家带来一篇非递归的输出1-N的全排列实例(推荐)。小编觉得挺不错的&#xff0c;现在就分享给大家&#xff0c;也给大家做个参考。一起跟随小编过来看看吧网易游戏笔试题算法题之一&#xff0c;可以用C,Java,Python&#xff0c;由于Python代码量较小&#xff0c;于…

动态规划算法实验报告_强化学习之动态规划算法

如今的强化学习研究大体分为了两个研究学派&#xff1a;一个是以Sutton&#xff0c;Sliver等人为代表的value-based学派&#xff0c;他们主要从值函数近似角度入手去研究强化学习&#xff0c;这也是强化学习早期最初发展起来时沿用的路线&#xff1b;第二个是以伯克利Sergey Le…

C语言中的字节对齐以及其相关处理

首先&#xff0c;我们来了解下一些基本原理&#xff1a; 一、什么是字节对齐一个基本类型的变量在内存中占用n个字节,则该变量的起始地址必须能够被n整除,即: 存放起始地址 % n 0,那么,就成该变量是字节对齐的;对于结构体、联合体而言,这个n取其所有基本类型的成员中占用空间字…

python3.7.1使用_在不影响使用python3.7.1的功能的情况下,是否可以从python代码中删除所有的ufuture_uu语句?...

您可以在不影响功能的情况下删除那些__future__导入&#xff0c;但是删除它们不是必需的&#xff0c;并且会停止与早期python版本的兼容性。在此外&#xff0c;正如deceze在评论中所暗示的那样&#xff0c;其他进口商品可能有所不同。例如&#xff0c;from __future__ import a…

hadoop 多机全分布式安装步骤(虚拟机1master+2slave)

文章目录1. 虚拟机安装Centos72. 配置静态IP3. 更改主机名4. 编辑域名映射5. 安装配置Java6. 配置SSH免密登录7 .安装Hadoop8. 关闭防火墙9. 格式化文件系统10. 启动验证11. 第一个MapReduce程序: WordCount12. 关闭Hadoop参考书&#xff1a;《Hadoop大数据原理与应用》1. 虚拟…

ie浏览器模拟器_航空飞机模拟器安卓版下载-航空飞机模拟器游戏下载

3D建模射击&#xff0c;真实的飞行世界&#xff0c;在航空飞机模拟器游戏中玩家将化身为飞行员&#xff0c;这里的飞机类型非常齐全&#xff0c;每一辆都要熟练操作&#xff0c;最大程度还原了飞行员最真实的驾驶场景&#xff0c;完成任务获得奖励还能提高它的性能哦&#xff0…

npm安装vue_vue搭建脚手架的方式

基于window系统整理的vue脚手架npm、yarn安装方法&#xff0c;记得网络一定要好先说npm的安装方法先在需要创建项目的文件夹下打开终端&#xff0c;如果没有node可以先去官网下载&#xff0c;然后一路next&#xff0c;就OK&#xff0c;记得看清楚电脑操作系统是64还是32&#x…

Java中用JS那些_java web中javascript主要用哪些?

java web中javascript主要用途是在页面上完成特定按钮的事件功能并且实现前后台交互。JavaScript 是一种跨平台&#xff0c;面向对象的脚本语言。作为一种小巧且轻量级的语言&#xff0c;JavaScript 无意于独立运行&#xff0c;而是被设计为可以轻易嵌入到其它的产品和应用中&a…

《BI那点儿事》运用标准计分和离差——分析三国超一流统帅综合实力排名 绝对客观,数据说话...

数据分析基础概念&#xff1a;标准计分&#xff1a; 1、无论作为变量的满分为几分&#xff0c;其标准计分的平均数势必为0&#xff0c;而其标准差势必为1。2、无论作为变量的单位是什么&#xff0c;其标准计分的平均数势必为0&#xff0c;而其标准差势必为1。公式为&#xff1a…

天池 在线编程 最佳利用率(二分查找 + 哈希)

文章目录1. 题目2. 解题1. 题目 给两个排序的数组。 从两个数组中各取取一个数&#xff0c;这两个数之和需要小于或等于k&#xff0c; 需要找到两数之和最大的索引组合。 返回一对包含两个列表的索引。 如果有多个两数之和相等的索引答案&#xff0c;你应该选择第一个数组索引…

python re 匹配多行_Python正则表达式,看这一篇就够了

作者 | 猪哥来源 | 裸睡的猪(ID: IT--Pig)大多数编程语言的正则表达式设计都师从Perl&#xff0c;所以语法基本相似&#xff0c;不同的是每种语言都有自己的函数去支持正则&#xff0c;今天我们就来学习 Python中关于 正则表达式的函数。re模块主要定义了9个常量、12个函数、1个…

nsga2算法_用遗传算法进行容量管理 让虚拟机放置策略更优

随着互联网技术的高速发展&#xff0c;云计算已经成为各行各业的“水电煤”&#xff0c;成为“互联网”的基础设施&#xff0c;而数据中心则是云服务背后的刚性保障。无论是传统的数据中心&#xff0c;还是云形态的数据中心&#xff0c;虚拟化技术都是提升其资源利用率、降低管…

php预处理_如何用预处理让 PHP 更先进

原标题&#xff1a;如何用预处理让 PHP 更先进先来点趣事。不久以前&#xff0c; 来添加 Python 的 range 语法。然后&#xff0c; 大虾 &#xff0c;并且 建议为 PHP 添加 C# 风格的 getter 和 setter。我意识到对于一个局外人来说&#xff0c;建议和实现新的语言特性是件缓慢…

天池 在线编程 两句话中的不常见单词(哈希计数)

文章目录1. 题目2. 解题1. 题目 给定两个句子 A 和 B 。 &#xff08;句子是一串由空格分隔的单词。每个单词仅由小写字母组成。&#xff09; 如果一个单词在其中一个句子中只出现一次&#xff0c;在另一个句子中却没有出现&#xff0c;那么这个单词就是不常见的。 返回所有…