当前位置: 首页 > news >正文

苍南最好的网站建设公司知名网站

苍南最好的网站建设公司,知名网站,行业 专业 网站建设,网站开发软件、L2-007 家庭房产 分数 25 给定每个人的家庭成员和其自己名下的房产,请你统计出每个家庭的人口数、人均房产面积及房产套数。 输入格式: 输入第一行给出一个正整数N(≤1000),随后N行,每行按下列格式给出…

L2-007 家庭房产

分数 25

给定每个人的家庭成员和其自己名下的房产,请你统计出每个家庭的人口数、人均房产面积及房产套数。

输入格式:

输入第一行给出一个正整数N(≤1000),随后N行,每行按下列格式给出一个人的房产:

编号 父 母 k 孩子1 ... 孩子k 房产套数 总面积

其中编号是每个人独有的一个4位数的编号;分别是该编号对应的这个人的父母的编号(如果已经过世,则显示-1);k(0≤k≤5)是该人的子女的个数;孩子i是其子女的编号。

输出格式:

首先在第一行输出家庭个数(所有有亲属关系的人都属于同一个家庭)。随后按下列格式输出每个家庭的信息:

家庭成员的最小编号 家庭人口数 人均房产套数 人均房产面积

其中人均值要求保留小数点后3位。家庭信息首先按人均面积降序输出,若有并列,则按成员编号的升序输出。

输入样例:

10
6666 5551 5552 1 7777 1 100
1234 5678 9012 1 0002 2 300
8888 -1 -1 0 1 1000
2468 0001 0004 1 2222 1 500
7777 6666 -1 0 2 300
3721 -1 -1 1 2333 2 150
9012 -1 -1 3 1236 1235 1234 1 100
1235 5678 9012 0 1 50
2222 1236 2468 2 6661 6662 1 300
2333 -1 3721 3 6661 6662 6663 1 100

输出样例:

3
8888 1 1.000 1000.000
0001 15 0.600 100.000
5551 4 0.750 100.000

题解

根据题意进行模拟,然后用并查集归类他们的家庭,在结构体里面写一个判断函数,用来最后输出的时候判断。写起来好复杂的感觉 

#include<bits/stdc++.h>
using namespace std;
int n;
struct node{double fc=0.0;double mj=0.0;int minid=10000;int sum=0;int num;double rjfc;double rjmj;//用来后面判断输出的bool operator<(const node& other) const {if(rjmj==other.rjmj){return minid>other.minid;}return rjmj<other.rjmj;}
}s[10005];int v[10005];//是否有这个编号
map<int,int> f;//并查集
map<int,vector<node> > fl;//家庭
priority_queue<node> q;//输出顺序用优先队列储存
//并查集
int find(int x)
{if(f[x]==x){return x;}f[x]=find(f[x]);return f[x];
}
//合并
void hb(int x,int y)
{if(x==-1 || y==-1) return;int u=find(x),v=find(y);if(u!=v){f[v]=u;}
}
int main()
{cin>>n;//初始化for(int i=0;i<=10000;i++){f[i]=i;}while(n--){int num,fu,mu,k;cin>>num>>fu>>mu>>k;v[num]=1;hb(num,fu);hb(num,mu);if(fu!=-1){v[fu]=1;}if(mu!=-1){v[mu]=1;}while(k--){int x;cin>>x;v[x]=1;hb(num,x);}int fc,mj;cin>>s[num].fc>>s[num].mj;}for(auto k:f){if(v[k.first]==1)//如果有这个人{//每次更新最小的成员s[find(k.second)].minid=min(s[find(k.second)].minid,k.first);s[find(k.second)].sum++;if(find(k.second)!=k.first){s[find(k.second)].fc+=s[k.first].fc;s[find(k.second)].mj+=s[k.first].mj;}fl[find(k.second)].push_back(s[k.first]);//cout<<find(k.second)<<" "<<k.first<<endl;} }cout<<fl.size()<<endl;for(auto k:fl){s[k.first].rjfc=s[k.first].fc/s[k.first].sum;s[k.first].rjmj=s[k.first].mj/s[k.first].sum;q.push(s[k.first]);}while(!q.empty()){printf("%04d ",q.top().minid);cout<<q.top().sum<<" ";cout<<fixed<<setprecision(3)<<q.top().rjfc<<" ";cout<<fixed<<setprecision(3)<<q.top().rjmj<<endl;q.pop();}return 0;
}

http://www.cadmedia.cn/news/9963.html

相关文章:

  • 柳州建设厅官方网站网络营销的基本职能
  • 58同城保定网站建设seo是什么姓氏
  • 南京溧水城市建设集团网站软文通
  • 唐山免费网站制作黑科技引流推广神器怎么下载
  • 企业在网站建设上的不足seo有哪些优化工具
  • 网站备案流程教程服装网络营销策划书
  • 巩义公司做网站百度一下你就知道手机版官网
  • 企业微信电脑版广东seo价格是多少钱
  • ps线下培训班一般学费多少徐州百度快照优化
  • 昭阳区建设局网站北京网站优化校学费
  • 禹城网站定制sem是什么品牌
  • 网站建设维护是什么岗位成人零基础学电脑培训班
  • 遮罩层怎么做网页合肥seo优化
  • ip138查询网站网址域名ip厦门百度整站优化服务
  • 怎么制作网站半透明背景百度小程序排名优化
  • 专业建设网站多少钱登封网站设计
  • 青海省公路建设市场信用信息服务网站快速排名优化系统
  • wordpress 取一类文章seo课程培训班
  • 山西省财政厅门户网站三基建设专栏惠州网站营销推广
  • 怎样在各大网站做有效的宣传淄博信息港聊天室网址
  • 哪家公司建站比较好seo 怎么做到百度首页
  • 网站建设商城模板平台app开发制作
  • 企业微信平台seo设置是什么
  • 装修包工头接活网站百度上做优化一年多少钱
  • 定陶菏泽网站建设深圳seo专家
  • 用织梦做网站需不需授权seo搜索排名影响因素主要有
  • 企业网站服务门户黄冈seo
  • 硬件开发包快速seo软件
  • 网站友情链接建设免费的关键词挖掘工具
  • 网站的功能和作用是什么成都百度推广公司联系电话