pta L2 005 集合相似度

2021-10-02 08:03:55 字數 1055 閱讀 4258

給定兩個整數集合,它們的相似度定義為: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%

主要就是利用c++的stl容器,利用set的特性即可

ac**:

#include

using

namespace std;

const

int maxn =55;

set<

int> s[maxn]

;void

find

(int i,

int j)

nt = s[i]

.size()

+ s[j]

.size()

- nc;

float ans;

ans = nc*

1.0/ nt;

printf

("%.2f"

,ans*

100)

; cout<<

"%";

}int

main

(void)}

int k;

cin>>k;

while

(k--

)return0;

}

PTA L2 005 集合相似度 set

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

團體程式設計天梯賽PTA L2 005集合相似度

題目 給定兩個整數集合,它們的相似度定義為 n c n t 100 其中n c 是兩個集合都有的不相等整數的個數,n t 是兩個集合一共有的不相等整數的個數。你的任務就是計算任意一對給定集合的相似度。題意 nc就是兩個集合中共同都出現數的個數,nt為一共有幾個不一樣的數 這道題先考了語文.然後一除算...

L2 005 集合相似度

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