记录一下新学的set数组
参考
例:set st;
插入: st.insert(2);
访问:set::iterator it;
for(it=st.begin();it!=st.end();it++){
printf("%d",*it);
}
查找:
st.find(2);
找不到 st.find(2)==st.end()
删除:
erase():
st.erase(st.find(2));//删除元素2
it=st.find(2);
st.erase(it,st.end());
大小:
st.size();
清空:
st.clear();
#include <bits/stdc++.h>
using namespace std;
set <int> st[60];
int n,m,k,t;
int main()
{
cin>>n;
for(int i=1;i<=n;++i){
cin>>m;
while(m--){
cin>>t;
st[i].insert(t);
}
}
cin>>k;
int a,b;
set<int>::iterator it;
while(k--){
int num=0;
cin>>a>>b;
for(it=st[a].begin();it!=st[a].end();++it){
if(st[b].find(*it)!=st[b].end()){
num++;
}
}
double ans=num*1.0/(st[a].size()+st[b].size()-num)*100;
printf("%.2lf%%\n",ans);
}
return 0;
}