坪山网站建设哪家效益快,自适应主题 wordpress,网站开发支付宝支付,点金wordpress主题网给定每个人的家庭成员和其自己名下的房产#xff0c;请你统计出每个家庭的人口数、人均房产面积及房产套数。
输入格式#xff1a; 输入第一行给出一个正整数N#xff08;≤1000#xff09;#xff0c;随后N行#xff0c;每行按下列格式给出一个人的房产#xff1a;
编…给定每个人的家庭成员和其自己名下的房产请你统计出每个家庭的人口数、人均房产面积及房产套数。
输入格式 输入第一行给出一个正整数N≤1000随后N行每行按下列格式给出一个人的房产
编号 父 母 k 孩子1 … 孩子k 房产套数 总面积 其中编号是每个人独有的一个4位数的编号父和母分别是该编号对应的这个人的父母的编号如果已经过世则显示-1k0≤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
#includeiostream
#includevector
#includeset
#includealgorithm
#includemap
using namespace std;
const int maxn 1e5 10;
struct node {int id, houses;double area;
};
struct family {int id, members;double ave_houses, ave_area;
};
bool cmp(const family a, const family b) {if (a.ave_area ! b.ave_area) return a.ave_area b.ave_area;return a.id b.id;
}
int pre[maxn];
int find(int x) {return x pre[x] ? x : pre[x] find(pre[x]);
}
int union0(int x, int y) {int fx find(x), fy find(y);if (fx ! fy) {pre[fx] fy;return 1;}return 0;
}
int main() {for (int i 0; i maxn; i) pre[i] i;setint v;mapint, node nodes;int n;cin n;while (n--) {int id, p1, p2, k, houses;double area;cin id p1 p2 k;v.insert(id);if (p1 ! -1) {v.insert(p1);union0(p1, id);}if (p2 ! -1) {v.insert(p2);union0(p2, id);}while (k--) {int id1;cin id1;v.insert(id1);union0(id1, id);}cin houses area;nodes[id] node{ id, houses, area };}setint sset;mapint, vectorint mmap;for (auto it v.begin(); it ! v.end(); it) {int fa find(*it);mmap[fa].push_back(*it);sset.insert(fa);}cout sset.size() endl;vectorfamily families;for (auto it sset.begin(); it ! sset.end(); it) {int fa find(*it), sz mmap[fa].size();double hs 0, area 0;for (int i 0; i sz; i) {hs nodes[mmap[fa][i]].houses;area nodes[mmap[fa][i]].area;}families.push_back(family{ mmap[fa][0], sz, hs / sz, area / sz });}sort(families.begin(), families.end(), cmp);for (int i 0; i families.size(); i) {printf(%04d %d %.3lf %.3lf, families[i].id, families[i].members, families[i].ave_houses, families[i].ave_area);if (i families.size() - 1) puts();}return 0;
}------------------------------------------------------------------------
输入一个整数输出每个数字对应的拼音。当整数为负数时先输出fu字。十个数字对应的拼音如下
0: ling 1: yi 2: er 3: san 4: si 5: wu 6: liu 7: qi 8: ba 9: jiu 输入格式 输入在一行中给出一个整数如1234。
提示整数包括负数、零和正数。
输出格式 在一行中输出这个整数对应的拼音每个数字的拼音之间用空格分开行末没有最后的空格。如 yi er san si。
输入样例 -600 输出样例 fu liu ling ling
// 题目链接 https://pintia.cn/problem-sets/994805046380707840/exam/problems/994805136889593856#includestdio.h
#includemap
#includestringusing namespace std;int main(){mapchar,string m {{0,ling},{1,yi},{2,er},{3,san},{4,si},{5,wu},{6,liu},{7,qi},{8,ba},{9,jiu}};char a[100];fgets(a,100,stdin);string s a;for(int i0;is.size()-1;i){if(a[i] -){printf(fu );}else if(is.size()-2){printf(%s ,m[a[i]].c_str());}else if(is.size()-2){printf(%s,m[a[i]].c_str());}}return 0;
}