集合相似度

2021-10-01 04:04:02 字數 978 閱讀 1129

給定兩個整數集合,它們的相似度定義為: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位的百分比數字。

輸入樣例:33

9987

1014

87101587

79910118

5135

189921

213輸出樣例:

50.00

%33.33

%

題不難,關鍵是要思考怎樣省時間

#include

#include

#include

namespace myspace

using

namespace myspace;

intmain()

}int k;

cin>>k;

for(

int i=

0,a,b;i)int cntfenmu=sc[b]

.size()

-cntfenzi+sc[a]

.size()

; cout

)<100.0

/cntfenmu<<

"%"<}}

集合相似度

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

集合相似度

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

集合相似度(set

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