题目链接
https://pintia.cn/problem-sets/994805046380707840/problems/994805068539215872
视频讲解https://www.bilibili.com/video/BV1nT4y1v7n3/
思路我们能获取 N
条信息,对于每一条消息我们能知道当前这个人的编号id
以及父亲的编号 faa
母亲的编号 ma
并且知道 k
个儿子的编号,然后我们又知道这个人的房子的总套数以及房子的总面积 ,这其实是一个很经典的数据结构-》 并查集,我们维护的每一个集合就是一个家族,我们讲当前读入的这个人的父亲和母亲合并在一个集合里面,再将他和他的儿子合并在一起,然后记录一下这个人的房子套数以及房子的总面积就好了,最后我们从
0
0
0往
9999
9999
9999 遍历,将这些访问过的编号的值加在祖先元素上面,这里我们用的一个map存储每个家族的数据,最后我们将其放入数组或者容器中排序即可,具体可以参见代码。
#include
using namespace std;
#define ll long long
#define mod 1000000007
#define endl "\n"
#define PII pair
#define INF 0x3f3f3f3f
const int N = 1e4+10;
int n,fa[N];
bool vis[N];
struct Node{
double tao,area;
};
struct ANS{
int id,people;
double tao,area;
};
bool cmp(ANS a,ANS b) {
if(fabs(a.area - b.area)
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?