news 2026/4/11 9:56:33

PTA 7-9 集合相似度分数(C++) 25‘

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
PTA 7-9 集合相似度分数(C++) 25‘

给定两个整数集合,它们的相似度定义为: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<int> a={};

集合插入元素:a[i].insert(x);

找集合的交集:(也可以这样写,比较简单)

for(auto it : a[c-1]) { if(a[d-1].find(it)!=a[d-1].end() count++; }

代码:

#include<bits/stdc++.h> using namespace std; int main() { int n; cin>>n; set<int> a[n]; for(int i=0;i<n;i++) { int l; cin>>l; for(int j=0;j<l;j++) { int x; cin>>x; a[i].insert(x); } } int b; cin>>b; int count; for(int i=0;i<b;i++) { count=0; int c,d; cin>>c>>d; int sum1=a[c-1].size(); int sum2=a[d-1].size(); set<int>::iterator it; for(it=a[c-1].begin();it!=a[c-1].end();it++) { if(a[d-1].find(*it)!=a[d-1].end()) count++; } double sum=count*1.0/(sum1+sum2-count)*100; printf("%.2f%%",sum); cout<<endl; } return 0; }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/10 17:47:50

SPI设备未使能导致c++spidev0.0 read返回255原理分析

SPI设备未使能时&#xff0c;为何 spidev0.0 read 总是返回255&#xff1f;从硬件到软件的全链路解析 你有没有遇到过这种情况&#xff1a;在C程序中通过 /dev/spidev0.0 读取一个SPI传感器的数据&#xff0c;代码逻辑看似没问题&#xff0c;但每次 read() 返回的都是 2…

作者头像 李华
网站建设 2026/4/9 8:51:58

如何在Android应用中实现完美的图片裁剪体验?

如何在Android应用中实现完美的图片裁剪体验&#xff1f; 【免费下载链接】PictureSelector Picture Selector Library for Android or 图片选择器 项目地址: https://gitcode.com/gh_mirrors/pict/PictureSelector 在Android开发中&#xff0c;图片裁剪功能是提升用户体…

作者头像 李华
网站建设 2026/4/7 10:58:45

LaTeX专业简历制作:5步打造令人印象深刻的求职文档

LaTeX专业简历制作&#xff1a;5步打造令人印象深刻的求职文档 【免费下载链接】resume Software developer resume in Latex 项目地址: https://gitcode.com/gh_mirrors/res/resume 在当今竞争激烈的求职市场中&#xff0c;一份精心设计的简历是敲开理想公司大门的金钥…

作者头像 李华
网站建设 2026/4/5 16:13:37

Solon-AI Stdio通信通道:构建高效进程通信的轻量级方案

Solon-AI Stdio通信通道&#xff1a;构建高效进程通信的轻量级方案 【免费下载链接】solon-ai Java AI & MCP 应用开发框架&#xff08;LLM&#xff0c;Function Call&#xff0c;RAG&#xff0c;Embedding&#xff0c;Reranking&#xff0c;Flow&#xff0c;MCP Server&am…

作者头像 李华
网站建设 2026/4/7 13:22:12

颠覆传统:新一代轻量无头浏览器全面解析

颠覆传统&#xff1a;新一代轻量无头浏览器全面解析 【免费下载链接】browser The open-source browser made for headless usage 项目地址: https://gitcode.com/GitHub_Trending/browser32/browser 还在为自动化测试和网页抓取任务中的资源消耗而烦恼吗&#xff1f;传…

作者头像 李华
网站建设 2026/4/5 16:46:41

BlendArMocap终极指南:零成本实现专业级动作捕捉

BlendArMocap终极指南&#xff1a;零成本实现专业级动作捕捉 【免费下载链接】BlendArMocap realtime motion tracking in blender using mediapipe and rigify 项目地址: https://gitcode.com/gh_mirrors/bl/BlendArMocap 在数字创作的世界里&#xff0c;BlendArMocap为…

作者头像 李华