天梯賽 7 6 集合相似度 25分

2021-10-09 07:49:12 字數 1108 閱讀 6047

7-6 集合相似度 (25分)

給定兩個整數集合,它們的相似度定義為:n​c​​/n​t​​×100%。其中n​c​​是兩個集合都有的不相等整數的個數,n​t​​是兩個集合一共有的不相等整數的個數。你的任務就是計算任意一對給定集合的相似度。

輸入格式:

輸入第一行給出乙個正整數n(≤50),是集合的個數。隨後n行,每行對應乙個集合。每個集合首先給出乙個正整數m(≤10​4​​),是集合中元素的個數;然後跟m個[0,10​9​​]區間內的整數。

之後一行給出乙個正整數k(≤2000),隨後k行,每行對應一對需要計算相似度的集合的編號(集合從1到n編號)。數字間以空格分隔。

輸出格式:

對每一對需要計算的集合,在一行中輸出它們的相似度,為保留小數點後2位的百分比數字。

輸入樣例:

3399

87101487

1015877

99101185

13518992

1213

輸出樣例:

50.00

%33.33

%

用set來做:

利用c++ stl中的set,補充一下,裡面的find函式,是在集合裡挨個查詢某個數,例如,如果在集合s裡查詢x,就是s.find(x),如果找到就返回該數的位置,找不到就返回s.end()

#include

using

namespace std;

set<

int>st[60]

;int

main()

}scanf

("%d"

,&y)

;while

(y--

)return0;

}

5 6 集合相似度 25分

5 6 集合相似度 25分 給定兩個整數集合,它們的相似度定義為 n c n t times 100 n c n t 10 0 其中n cn c 是兩個集合都有的不相等整數的個數,n tn t 是兩個集合一共有的不相等整數的個數。你的任務就是計算任意一對給定集合的相似度。輸入第一行給出乙個正整數n ...

7 9 集合相似度(25 分)

7 9 集合相似度 25 分 給定兩個整數集合,它們的相似度定義為 n c n t 10 0 其中n c 是兩個集合都有的不相等整數的個數,n t 是兩個集合一共有的不相等整數的個數。你的任務就是計算任意一對給定集合的相似度。輸入第一行給出乙個正整數n 50 是集合的個數。隨後 n行,每行對應乙個集...

7 19 集合相似度 (25 分

題目鏈結 給定兩個整數集合,它們的相似度定義為 n c n t 100 其中n c是兩個集合都有的不相等整數的個數,n t是兩個集合一共有的不相等整數的個數。你的任務就是計算任意一對給定集合的相似度。輸入格式 輸入第一行給出乙個正整數n 50 是集合的個數。隨後n行,每行對應乙個集合。每個集合首先給...