poj 1634
题意:给你m个员工,和n次的查询。
每个员工有他独立的id,收入,和身高
上司的收入一定大于下属的收入,身高也是大于等于下属的。
每个公司的头头没有上司,上司的编号为0,,同时他也是收入最多身高最高的人。
n次查询。
对于每一次查询,输出它对应的上司的其下属的个数。
Memory: 4572K Time: 766MS
Language: C++ Result: Accepted
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <stdlib.h> using namespace std; struct moreid{
int id;
int father;
int son;
int hight;
int money;
}s[30005];
int id[1000000]; //这个数组是用来找id所对应的结构体的。 int cmp(const void *a,const void *b) //根据收入的多少来进行排序。
{
return(*(moreid *)a).money-(*(moreid *)b).money;
} int main()
{
int n,a,b,x;
scanf("%d",&n);
while(n--)
{
memset(id,0,sizeof(id));
scanf("%d%d",&a,&b);
for(int i=0;i<a;i++)
{
scanf("%d%d%d",&s[i].id,&s[i].money,&s[i].hight);
s[i].son=0,s[i].father=0; //对每个编号的下属和上司进行归零。
}
qsort(s,a,sizeof(s[0]),cmp);
for(int i=0;i<a;i++)
{
id[s[i].id]=i; //对结构体的编号的员工身份进行一一对应,用map也是可以的。
for(int j=i+1;j<a;j++)
{
if(s[i].hight<=s[j].hight) //如果身高要小于第一个钱比他高的人,那么那没人就是他的上司。
{
s[i].father=s[j].id; //记录上司
s[j].son+=s[i].son+1; //上司的下属就是它的直属下属加上它下属的下属。
break; //找到了直属后,记得跳出。
}
}
}
for(int i=0;i<b;i++)
{
scanf("%d",&x);
printf("%d %d\n",s[id[x]].father,s[id[x]].son);
}
}
return 0;
}
poj 1634的更多相关文章
- POJ 1634 Who's the boss?
题意: 一个员工A的直接上司是那些薪水大于A,并且身高>=A的人中薪水最少的一个. 主席CEO的薪水最高,且身高也是最高的. 有多组数据. 每组数据给出m个员工,和q个询问. 每个员工有id.薪 ...
- POJ 题目分类(转载)
Log 2016-3-21 网上找的POJ分类,来源已经不清楚了.百度能百度到一大把.贴一份在博客上,鞭策自己刷题,不能偷懒!! 初期: 一.基本算法: (1)枚举. (poj1753,poj2965 ...
- (转)POJ题目分类
初期:一.基本算法: (1)枚举. (poj1753,poj2965) (2)贪心(poj1328,poj2109,poj2586) (3)递归和分治法. (4)递推. ...
- poj分类
初期: 一.基本算法: (1)枚举. (poj1753,poj2965) (2)贪心(poj1328,poj2109,poj2586) (3)递归和分治法. ( ...
- poj 题目分类(1)
poj 题目分类 按照ac的代码长度分类(主要参考最短代码和自己写的代码) 短代码:0.01K--0.50K:中短代码:0.51K--1.00K:中等代码量:1.01K--2.00K:长代码:2.01 ...
- POJ题目分类(按初级\中级\高级等分类,有助于大家根据个人情况学习)
本文来自:http://www.cppblog.com/snowshine09/archive/2011/08/02/152272.spx 多版本的POJ分类 流传最广的一种分类: 初期: 一.基本算 ...
- POJ题目分类(转)
初期:一.基本算法: (1)枚举. (poj1753,poj2965) (2)贪心(poj1328,poj2109,poj2586) (3)递归和分治法. (4)递推. ...
- POJ题目细究
acm之pku题目分类 对ACM有兴趣的同学们可以看看 DP: 1011 NTA 简单题 1013 Great Equipment 简单题 102 ...
- POJ题目(转)
http://www.cnblogs.com/kuangbin/archive/2011/07/29/2120667.html 初期:一.基本算法: (1)枚举. (poj1753,poj29 ...
随机推荐
- Saltstack常用模块及API
Saltstack提供了非常丰富的功能模块,涉及操作系统的基础功能.常用工具支持等,更多模块信息可以查看官网模块介绍.也可以通过sys模块列出当前版本支持的模块. salt '*' sys.list_ ...
- Python之路【第七篇续】:进程、线程、协程
Socket Server模块 SocketServer内部使用 IO多路复用 以及 “多线程” 和 “多进程” ,从而实现并发处理多个客户端请求的Socket服务端.即:每个客户端请求连接到服务器时 ...
- OC-Category
分类-Category 1. 基本用途 如何在不改变原来类模型的前提下,给类扩充一些方法?有2种方式 l 继承 l 分类(Category) 2. 格式 分类的声明 @interface类名 ...
- java正则表达式 --简单认识
学习目标 正则表达式的作用正则表达式的模式匹配Pattern类和Matcher类的使用掌握String对正则的支持具体内容一.认识正则(为什么要有正则) 方便的对数据进行匹配 执行复杂的字符串验证.拆 ...
- 一次插入多条记录 [mysql]
调用多次INSERT语句不就可以插入多条记录了吗?但使用这种方法要增加服务器的负荷,因为,执行每一次SQL服务器都要同样对SQL进行分析.优化等操作.幸好MySQL提供了另一种解决方案,就是使用一条I ...
- ManualResetEvent详解
原文来自:http://www.cnblogs.com/tianzhiliang/archive/2011/03/04/1970726.html 1. 源码下载: 下载地址:http://files. ...
- vim查找替换
http://www.cnblogs.com/ltang/articles/2034291.html %: 表示百分百,表示所有 行的意思... 如果不指定行号, 则表示当前行; g: 表示一行中的所 ...
- fedora14 安装中文输入法
We trust you have received the usual lecture (n. 演讲 讲课 讲座; 教训 训斥 告诫) from the local SystemAdministra ...
- winScp如何通过隧道代理进行远程连接
目标机器:a ip为192.168.2.150(内网ip) a.xxx.x.xx(外网ip) 跳板机器:b ip为192.168.2.151(内网ip) b.xxx.xx.xx(外网ip) 目标机 ...
- 图解JavaScript 继承
JavaScript作为一个面向对象语言,可以实现继承是必不可少的,但是由于本身并没有类的概念(不知道这样说是否严谨,但在js中一切都类皆是对象模拟)所以在JavaScript中的继承也区别于其他的面 ...