给定两个整数集合,它们的相似度定义为: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
2
1 2
1 3
输出样例:
50.00%
33.33%

题目大意:nc是两个集合的公共元素个数,nt是两个集合的所有包含的元素个数(其中元素个数表示各个元素之间互不相同)。

主要是第一次见set这么用,所以写一篇博客来记录一下

#include <iostream>
#include <bits/stdc++.h>
using namespace std;
vector<set<int>> vc(55); ///重点在这里,是()而不是[];
int n,m;
int k;
int main()
{scanf("%d",&n);for(register int i=1;i<=n;i++){scanf("%d",&m);set<int> st;for(register int j=1;j<=m;j++){int x;scanf("%d",&x);st.insert(x);}vc[i]=st; ///=而不是push_back
    }scanf("%d",&k);while(k--){int x,y;scanf("%d%d",&x,&y);int nc=0,nt=vc[y].size();for(auto it=vc[x].begin();it!=vc[x].end();it++){if(vc[y].find(*it)==vc[y].end())nt++;elsenc++;}double ans=(double)nc/nt;ans*=100;printf("%.2f%%\n",ans);}//cout << "Hello world!" << endl;return 0;
}

转载于:https://www.cnblogs.com/SoulSecret/p/10579347.html

[stl]集合相似度(PTA)相关推荐

  1. L2-005 集合相似度(STL)

    题目链接:L2-005 集合相似度 考查知识:STL 题意描述: 给定两个整数集合,它们的相似度定义为:两个集合都有的不相等整数的个数 比上 两个集合一共有的不相等整数的个数. 计算任意一对给定集合的 ...

  2. L2-005 集合相似度-PAT团体程序设计天梯赛GPLT

    题目来源:团体程序设计天梯赛-练习集 题目地址:L2-005 集合相似度 题目大意 给定 nnn 个集合,然后有 kkk 次询问,每次询问都要求出 Nc/Nt×100%N_c / N_t \times ...

  3. 天梯赛---7-6 集合相似度 (25分)

    7-6 集合相似度 (25分) 给定两个整数集合,它们的相似度定义为:N​c​​/N​t​​×100%.其中N​c​​是两个集合都有的不相等整数的个数,N​t​​是两个集合一共有的不相等整数的个数.你 ...

  4. 7-9 集合相似度 (25 分)(天梯赛练习题)

    7-9 集合相似度 (25 分) 给定两个整数集合,它们的相似度定义为:Nc​/Nt​×100%.其中Nc​是两个集合都有的不相等整数的个数,Nt​是两个集合一共有的不相等整数的个数.你的任务就是计算 ...

  5. L2-005 集合相似度 (25分)

    L2-005 集合相似度 (25分) 给定两个整数集合,它们的相似度定义为:N​c/N​t​​ ×100%.其中N​c 是两个集合都有的不相等整数的个数,N​t是两个集合一共有的不相等整数的个数.你的 ...

  6. 7-9 集合相似度 (25 分)(交集/并集)

    7-9 集合相似度 (25 分) 给定两个整数集合,它们的相似度定义为:Nc​/Nt​×100%.其中Nc​是两个集合都有的不相等整数的个数,Nt​是两个集合一共有的不相等整数的个数.你的任务就是计算 ...

  7. 【CCCC】L2-005 集合相似度 (25分),维护set数组去重,比较统计

    problem L2-005 集合相似度 (25分) 给定两个整数集合,它们的相似度定义为:N ​c ​​ /N ​t ​​ ×100%.其中N ​c ​​ 是两个集合都有的不相等整数的个数,N ​t ...

  8. 7-9 集合相似度 (25分)

    7-9 集合相似度 (25分) 给定两个整数集合,它们的相似度定义为:N ​c ​​ /N ​t ​​ ×100%.其中N ​c ​​ 是两个集合都有的不相等整数的个数,N ​t ​​ 是两个集合一共 ...

  9. 7-10 集合相似度 (25分)

    超时代码 // // Created by HMN on 2020/1/27. // /*7-10 集合相似度 (25分) 给定两个整数集合,它们的相似度定义为:N ​c ​​ /N ​t ​​ ×1 ...

最新文章

  1. 网民网上购物决策时间延长
  2. 有三个输入的自监督网络设计
  3. C# Dictionary.Add(key,123) 与 Dictionary[key]=123的区别
  4. 简评file_get_contents与curl 效率及稳定性
  5. 计算机专业的分支,计算机专业分支(转载)
  6. RFC and session issue - why we should use DESTINATION NONE?
  7. 史上最详细nodejs版本管理器nvm的安装与使用(附注意事项和优化方案)
  8. centos下mysql更改数据存放目录_CentOS下mysql更改数据存放目录 --转载
  9. 解决opensips NAT 问题和ACK不能正常转发问题
  10. 【代码笔记】Web-CSS-CSS Text(文本)
  11. Emmet语法——HTML和CSS快速生成代码/VS code如何快速格式化代码
  12. java.util.concurrent 多线程框架---线程池编程(四)
  13. MapBar纯绿色桌面版:小M
  14. Oracle数据库的学习
  15. 从零开始学WEB前端——VUE介绍
  16. Redis雪崩效应的解决方案(转)
  17. S3C2440原理图导读
  18. TCP/IP协议各层的网络设备
  19. MDCC 2014移动开发人员大会參会实录
  20. Goldfish 介绍

热门文章

  1. Hadoop2.6.0中YARN底层状态机实现分析
  2. Lua学习笔记9:多文件
  3. 最优秀的5个Linux文本编辑器
  4. 二月十大病毒排行 加花加密最危险
  5. spring图片转视频_视频转GIF在线教程,GIF制作方法
  6. Java并发编程实战_不愧是领军人物!这种等级的“Java并发编程宝典”谁能撰写?...
  7. 服务器安装win7系统蓝屏,安装win7系统出现蓝屏| win7安装过程中蓝屏|安装win7系统时蓝屏...
  8. Java NIO学习篇之通道Channel详解
  9. 千万级别数据查询优化_从千万级数据查询来聊一聊索引结构和数据库原理
  10. 在页面显示html文件,把选择的文件显示在页面上 #1《 HTML5:文件 API 》