[patl2-007]家庭房产
题目大意:求并查集中集合的个数,及每个集合的详细信息
解题关键:只要不进行unite,集合的根是不会变化的。
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cstdlib>
#include<cmath>
#include<iostream>
using namespace std;
struct node{
int id,cnt,area;
}pe[];
struct nod{
int id,num,cnt,area;
double avcnt,avar;
}pa[];
bool vis[];
int par[];
int find1(int x){
if(x==par[x]) return x;
else return par[x]=find1(par[x]);
}
bool cmp(nod x,nod y){
if(x.avar==y.avar) return x.id<y.id;
else return x.avar>y.avar;
}
void unite(int x,int y){
x=find1(x);
y=find1(y);
if(x==y) return;
else par[x]=y;//为什么这里改变一下会有变化???
}
int main(){
int n;
scanf("%d",&n);
for(int i=;i<;i++){
par[i]=i;
}
for(int i=;i<n;i++){
int t1,t2,t3;
scanf("%d%d%d",&t1,&t2,&t3);
vis[t1]=true;
if(t2!=-){
unite(t1, t2);
vis[t2]=true;
}
if(t3!=-){
unite(t1,t3);
vis[t3]=true;
}
int k;
scanf("%d",&k);
for(int j=;j<k;j++){
int temp;
scanf("%d",&temp);
unite(t1,temp);
vis[temp]=true;
}
pe[i].id=t1;
int t4,t5;
scanf("%d%d",&t4,&t5);
pe[i].cnt=t4;
pe[i].area=t5;
} for(int i=;i<n;i++){
int id=find1(pe[i].id);
//id=find1(id);
pa[id].cnt+=pe[i].cnt;
pa[id].area+=pe[i].area;
// pa[id].num++;
} for(int i=;i<=;i++){//这里是核心
if(vis[i]){
//int t=par[i]=find1(i);
int t=find1(i);
if(!pa[t].num){
pa[t].id=i;
}
pa[t].num++;
pa[t].avar=pa[t].area*1.0/pa[t].num;//这里其实是重复覆盖的
pa[t].avcnt= pa[t].cnt*1.0/pa[t].num;
}
} sort(pa,pa+,cmp);
int ans=;
for(int i=;i<;i++){
if(pa[i].num){
ans++;
}
//else break;
}
printf("%d\n",ans);
for(int i=;i<ans;i++){
if(pa[i].num){
printf("%04d %d %.3lf %.3lf\n",pa[i].id,pa[i].num,pa[i].avcnt,pa[i].avar);
}
} }
[patl2-007]家庭房产的更多相关文章
- 团体程序设计天梯赛-练习集L2-007. 家庭房产
L2-007. 家庭房产 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 给定每个人的家庭成员和其自己名下的房产,请你统计出每个 ...
- L2-007. 家庭房产
L2-007. 家庭房产 题目链接:https://www.patest.cn/contests/gplt/L2-007 并查集 初学,看这题的时候完全没有什么好的想法,参考了@yinzm的blog用 ...
- L2-007 家庭房产 (25 分)
L2-007 家庭房产 (25 分) 给定每个人的家庭成员和其自己名下的房产,请你统计出每个家庭的人口数.人均房产面积及房产套数. 输入格式: 输入第一行给出一个正整数N(≤),随后N行,每行按下 ...
- L2-007. 家庭房产(并查集)*
L2-007. 家庭房产 参考博客 #include <iostream> #include <cstdio> #include <cstring> #includ ...
- 天梯赛 L2-007. (并查集) 家庭房产
题目链接 题目描述 给定每个人的家庭成员和其自己名下的房产,请你统计出每个家庭的人口数.人均房产面积及房产套数. 输入格式: 输入第一行给出一个正整数N(<=1000),随后N行,每行按下列格式 ...
- PATL2-007. 家庭房产-并查集
L2-007. 家庭房产 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 给定每个人的家庭成员和其自己名下的房产,请你统计出每个 ...
- pat 团体天梯赛 L2-007. 家庭房产
L2-007. 家庭房产 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序给定每个人的家庭成员和其自己名下的房产,请你统计出每个家庭的人口数.人均房产面积及房产 ...
- L2-007 家庭房产 (25 分) (并查集)
链接:https://pintia.cn/problem-sets/994805046380707840/problems/994805068539215872 题目: 给定每个人的家庭成员和其自己名 ...
- PAT L2-007 家庭房产
https://pintia.cn/problem-sets/994805046380707840/problems/994805068539215872 给定每个人的家庭成员和其自己名下的房产,请你 ...
- pat 团体赛练习题集 L2-007. 家庭房产
给定每个人的家庭成员和其自己名下的房产,请你统计出每个家庭的人口数.人均房产面积及房产套数. 输入格式: 输入第一行给出一个正整数N(<=1000),随后N行,每行按下列格式给出一个人的房产: ...
随机推荐
- MVC3 学习总结一(未发布)
MVC: Model,View,Control 设置View中的数据 1. 返回model,View中强类型化 Control: public ActionResult Browse(strin ...
- orale存储技术
一.存储的主要作用 1.海量存储 阵列存储 光盘存储 磁带存储 数据迁移 文件服务器,跨平台文件共享 2.容灾 数据备份及恢复:磁带.光盘.阵列 数据复制:本地镜像.远程镜像 3.高 ...
- app-前端性能测试
前端性能测试,主要分为七个部分: 启动时间.CPU.流量.电量.内存.FPS(每秒钟的帧数).过度渲染 主要测试的内容: 启动时间:主要测试app在启动过程中的耗时情况 CPU:主要测试app在使用过 ...
- AOE网络——求关键路径
1.计算每个活动的最早发生时间(正序) earliest[1]=0; earlest[k]=max{earliest[j],+dut[j][k]} 2.计算每个活动的最晚发生时间(逆序) lastes ...
- Requests 库
Requests 库的两个重要的对象:(Request , Response) Response对象的属性: import requests r =requests.get('http://www.b ...
- 【集成学习】sklearn中xgboot模块中fit函数参数详解(fit model for train data)
参数解释,后续补上. # -*- coding: utf-8 -*- """ ############################################## ...
- HihoCoder1105 题外话·堆(基础二叉搜索树)
第1行为1个整数N,表示需要处理的事件数目. 接下来的M行,每行描述一个事件,且事件类型由该行的第一个字符表示,如果为'A',表示小Ho将一粒糖果放进了盒子,且接下来为一个整数W,表示这颗糖果的重量: ...
- BZOJ5206: [Jsoi2017]原力
BZOJ5206: [Jsoi2017]原力 https://lydsy.com/JudgeOnline/problem.php?id=5206 分析: 比较厉害的三元环问题. 设立阈值,当点的度数大 ...
- [Luogu2371][国家集训队]墨墨的等式
luogu 题意 给出\(n,a_i,B_{min},B_{max}\),求使得\(a_1x_1+a_2x_2+...+a_nx_n=B\)存在一组非负整数解的\(B\in[B_{min},B_{ma ...
- RabbitMQ 权限分离&HA操作文档
概要 默认情况下,使用帐号guest帐号登陆MQ,所有用户的queue信息,全部创建在根目录/的virtual host下,而这样,就会导致,任一用户登录后,都能看到其他用户的queue信息. 针对以 ...