您当前的位置: 首页 > 

先求一个导

暂无认证

  • 0浏览

    0关注

    291博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

程序设计天梯赛L2-007 (家庭房产,并查集+排序)

先求一个导 发布时间:2022-04-18 09:59:47 ,浏览量:0

题目 题意: 给定n个人的编号、父母的编号、孩子的编号、他拥有的房产数量、房产面积,按人均房产面积降序、如有并列按编号升序的形式输出每个家庭的相关信息。 思路: 经典的pta题目,很麻烦。用并查集维护每个人属于哪个家庭。有一个好写法就是最后输入完成后,将每个点的信息统一更新到他所在树上的根节点上,最后排序输出即可。 时间复杂度: O(nlogn) 代码:

#include
using namespace std;
const int N = 1e5+10;
int n,m,k,T;
struct node{
	int id = 999999; //最小编号
	int num = 0; //人数
    int tot; //几套房子
    double av = 0; //人均面积
    bool operator rhs.av;
    	return id n;
	for(int i=0;i>x>>f>>m; 
		vis[x] = 1;
		a[x].id = x;
		if(f != -1) Merge(x,f),vis[f] = 1;
		if(m != -1) Merge(x,m),vis[m] = 1;
		cin>>num;
		for(int j=0;j>t;
			vis[t] = 1;
			Merge(x,t);
		}
		cin>>a[x].tot>>a[x].av;
	}
	for(int i=0;i            
关注
打赏
1662037414
查看更多评论
0.0444s