题目如下:
这题主要用来练习stl的使用,是一道比较简单的题目
AC代码如下
#include #include #include #include #include #include #include using namespace std; unordered_set s[55];//允许有重复的, int main() { int n; cin>>n; for(int i=1;i<=n;i++) { int k; cin>>k; int x; while(k--) { cin>>x; s[i].insert(x); } } int m; cin>>m; for(int i=1;i<=m;i++) { int a,b; cin>>a>>b; double sum=0,num=0; for(auto x : s[a]) { if(s[b].count(x)) num++;//计算重复 } sum=s[a].size()+s[b].size()-num;//去掉重复的就是不重复的所有个数 printf("%.2lf%%\n",num*100/sum); } return 0; }