PTA L2 007家庭房產

2022-10-10 01:54:09 字數 1674 閱讀 8705

解體思路:利用並查集將所有家庭成員連線到乙個祖宗,連線的時候優先選擇將編號大的連線到編號小的,讓編號小的當祖宗。

ac**:

1 #include2 #include3 #include4 #include5 #include6 #include7 #include

8 #include9 #include10 #include11 #include

12#define ll long long

13#define ull unsigned long long

14#define inf 0x3f3f3f3f

15#define inff 0x7fffffff

16using

namespace

std;

17const

int n = 10000 + 10;18

const

int m = 200000 + 10;19

const ll mod = 1e9 + 7;20

21struct

pep p[n];

2526

intfa[n], vis[n];

27int

ans[n];

2829

int finds(int

x) 33

34bool cmp(int a, int

b) 44}45

else

if (fa[a] == a) return

true;46

else

return

false;47

}4849int

main()

56for (int i = 1; i <= n; i++)

77else

if (t1 >t2) 83}

84if (fat != -1

) 94

else

if(t1 >t2)

100}

101if (mot != -1

) 111

else

if(t1 >t2)

117}

118int

pos_house, pos_area;

119 cin >> pos_house >>pos_area;

120int t =finds(x);

121 p[t].num +=pos_house;

122 p[t].area +=pos_area;

123}

124int p_sum = 0

;125

for (int i = 0; i <= 10005; i++)

132}

133/*

for (int i = 1; i <= 10000; i++)

137}

*/138

/*for (int i = 1; i <= 1000; i++)

*/141 sort(ans, ans + 10001

, cmp);

142 cout << p_sum << "\n"

;143

for (int i = 0; i < p_sum; i++)

149150

return0;

151 }

L2 007 家庭房產

給定每個人的家庭成員和其自己名下的房產,請你統計出每個家庭的人口數 人均房產面積及房產套數。輸入格式 輸入第一行給出乙個正整數n 1000 隨後n行,每行按下列格式給出乙個人的房產 編號 父 母 k 孩子1 孩子k 房產套數 總面積 其中 編號 是每個人獨有的乙個4位數的編號 父 和 母 分別是該編...

PTA L2 家庭房產 並查集

題目描述 給定每個人的家庭成員和其自己名下的房產,請你統計出每個家庭的人口數 人均房產面積及房產套數 ac include include include using namespace std const int n 1e5 55 int pre n vis n tig n struct node...

GPLT L2 007 家庭房產 (並查集)

給定每個人的家庭成員和其自己名下的房產,請你統計出每個家庭的人口數 人均房產面積及房產套數。輸入和輸出各構造乙個結構體,利用並查集歸併輸入,列舉編號進行輸出。include using namespace std const int m 11000 struct datadata m struct ...