L2005集合相似度(25分)c++java_第1頁
L2005集合相似度(25分)c++java_第2頁
L2005集合相似度(25分)c++java_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、L2-005集合相似度(25分)c+java給定兩個整數(shù)集合,它們的相似度定義為:Nc/Ntx100%。其中Nc是兩個集合都有的不相等整數(shù)的個數(shù),Nt是兩個集合一共有的不相等整數(shù)的個數(shù)。你的任務(wù)就是計算任意一對給定集合的相似度。輸入格式:輸入第一行給出一個正整數(shù)N(W50),是集合的個數(shù)。隨后N行,每行對應(yīng)一個集合。每個集合首先給出一個正整數(shù)是(W10合中元素的個數(shù);然后跟M個0,109區(qū)間內(nèi)的整數(shù)。之后一行給出一個正整數(shù)K(W2000),隨后K行,每行對應(yīng)一對需要計算相似度的集合的編號(集合從1到N編號)。數(shù)字間以空格分隔。輸出格式:對每一對需要計算的集合,在一行中輸出它們的相似度,為保留小

2、數(shù)點后2位的百分比數(shù)字。輸入樣例:3 99871014 8710158779910118513518991213輸出樣例:50.00%33.33%Note:1.NC和Nt計算的是不相等的整數(shù),一個集合輸入時可能有相等的整數(shù),所以用set去存儲,去重。2計算Nt,Nc。遍歷集合a中的數(shù)組,在集合b中查找,如果找到最后沒找到,Nt+;否則Nc+。代碼:c+#include<set>#include<vector>#include<cstdio>usingnamespacestd;intmain()intn,m,temp,k,a,b;scanf("%d&

3、quot;,&n);vector<set<int>>v(n);for(intj=0;j<n;j+)scanf("%d",&m);set<int>s;for(inti=0;i<m;i+)scanf("%d",&temp);s.insert(temp);vj=s;scanf("%d",&k);for(inti=0;i<k;i+)scanf("%d%d",&a,&b);intc=0,t=vb-1.size();for(a

4、utoit=va-1.begin();it!=va-1.end();it+)if(vb-1.find(*it)=vb-1.end()t+;elsec+;doublecnt=(double)c/t*100;printf("%.2lf%n",cnt);return0;java:用HashSet數(shù)組去存儲每個集合,之后用addAII合并去重。java會超時importjava.util.*;publicclassMainpublicstaticvoidmain(Stringargs)Scannersc=newScanner(System.in);intn=sc.nextInt()

5、;intbook=newintn+1;intcnt=0;List<HashSet>list=newArrayList<HashSet>();for(inti=0;i<n;i+)intm=sc.nextInt();Set<Integer>set=newHashSet<>();for(intj=0;j<m;j+)set.add(sc.nextInt();bookcnt=set.size();list.add(HashSet)set);intk=sc.nextInt();for(inti=0;i<k;i+)intn1=sc.nextI

6、nt()-1;intn2=sc.nextInt()-1;下標從0開始,要減一inta=list.get(n1).size();intb=list.get(n2).size();Set<Integer>set=newHashSet<>();/需要重新定義一個集合,不能在原來的集合上操作set.addAll(list.get(n1);set.addAll(list.get(n2);list.get(n1).addAll(list.get(n2);/for(Objectq:list.get(n1)/System.out.print(q+"");/intc=set.size();System.out.printf("%.2f%n",100*1.0*(a+b-c)/c);list.get(n1)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論