L2 005 集合相似度 (25 分)

2021-09-12 08:01:23 字數 793 閱讀 1898

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

輸入格式:

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

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

輸出格式:

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

輸入樣例:

33 99 87 101

4 87 101 5 87

7 99 101 18 5 135 18 99

21 2

1 3輸出樣例:

50.00%

33.33%

需要用一下stl裡面的set,找重複元素的時候需要換一下思路,在乙個集合裡面找另乙個集合的元素,用這種方式來看看重複個數,總個數減去重複個數即為不重複個數。

#includeusing namespace std;

sets[55];

void fun(int x,int y)

int main()

} cin>>n;

for(int i=0;i>x>>y;

fun(x,y);

} return 0;

}

L2 005 集合相似度 25分

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

L2 005 集合相似度 25 分

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

L2 005 集合相似度 25分

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