PAT L2 005 集合相似度

2021-07-29 10:55:31 字數 1250 閱讀 2876

時間限制

400 ms

記憶體限制

65536 kb

**長度限制

8000 b

判題程式

standard

作者 陳越

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

輸入格式:

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

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

輸出格式:

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

輸入樣例:

3

3 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,然後在另乙個集合中遍歷是否含有本集合的元素,有的話計數器+1;最後用相同元素個數除以兩個集合元素的總個數
減去相同元素個數就是答案*/
#include#includeusing namespace std; double check(setp, setq)  outcome = count2 / (count1 - count2); return outcome; } int main()  } int seanum; cin >> seanum; double *check = new double[seanum]; for(int m = 0;m < seanum;m++)  for (int i = 0;i < seanum;i++) printf("%.2f%%\n", check[i]*100); system("pause"); return 0; }

PAT L2 005 集合相似度

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

PATL2 005集合相似度

思路 用set存放資料 定義 sets 51 set i 表示第i個集合的全部元素 判斷a,b集合相似度 判斷a中有sum個元素也在b集合 現 集合相似度就為 sum a.size b.size sum a.size b.size sum 為a,b兩個集合所有不相同元素的個數 例如 集合a有 87 ...

PAT L2 005 集合相似度(STL)

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