思路:用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 99 101 a.size()=3
集合b有5 87 87 101 由於set集合不存放重複資料 所以 b:5 87 101
通過遍歷發現a中有87,101兩個元素在b**現 所以sum=2
a,b中所有不同元素個數就為3+3-2 = 4 個 分別為5 87 99 101
集合相似度就為2/4=50%
**如下:
#include
#include
#include
#include
#include
using namespace std;
int n,m,k;
sets[51];
double f(int a,int b)
double gl = sum*1.0/(s[a].size()+s[b].size()-sum) * 100;
printf("%.2lf%%\n",gl);
}int main()
}int a,b;
cin>>k;
for(int i=1;i<=k;i++)
return 0;
}
PAT L2 005 集合相似度
時間限制 400 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 陳越 給定兩個整數集合,它們的相似度定義為 nc nt 100 其中nc是兩個集合都有的不相等整數的個數,nt是兩個集合一共有的不相等整數的個數。你的任務就是計算任意一對給定集合的相似度。...
PAT L2 005 集合相似度
給定兩個整數集合,它們的相似度定義為 nc nt 100 其中nc是兩個集合都有的不相等整數的個數,nt是兩個集合一共有的不相等整數的個數。你的任務就是計算任意一對給定集合的相似度。輸入格式 輸入第一行給出乙個正整數n 50 是集合的個數。隨後n行,每行對應乙個集合。每個集合首先給出乙個正整數m 1...
PAT L2 005 集合相似度(STL)
傳送門 給定兩個整數集合,它們的相似度定義為 nc nt 100 其中nc是兩個集合都有的不相等整數的個數,nt是兩個集合一共有的不相等整數的個數。你的任務就是計算任意一對給定集合的相似度。輸入格式 輸入第一行給出乙個正整數n 50 是集合的個數。隨後n行,每行對應乙個集合。每個集合首先給出乙個正整...