7-9 集合相似度 给定两个整数集合,它们的相似度定义为:N ​c ​​ /N ​t ​​ ×100%。其中N ​c ​​ 是两个集合都有的不相等整数的个数,N ​t ​​ 是两个集合一共有的不相「建议收藏」

7-9 集合相似度 给定两个整数集合,它们的相似度定义为:N ​c ​​ /N ​t ​​ ×100%。其中N ​c ​​ 是两个集合都有的不相等整数的个数,N ​t ​​ 是两个集合一共有的不相「建议收藏」7-9 集合相似度 给定两个整数集合,它们的相似度定义为:N ​c ​​ /N ​t ​​ ×100%。其中N ​c ​​是两个集合都有的不相等整数的个数,N ​t ​​ 是两个集合一共有的不相等整数的个数。你的任务就是计算任意一对给定集合的相似度。输入格式: 输入第一行给出一个正整数N(≤50),是集合的个数。随后N行,每行对应一个集合。每个集合首先给出一个正整数M(≤10 ​4 ​​)…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

7-9 集合相似度 给定两个整数集合,它们的相似度定义为:N ​c ​​ /N ​t ​​ ×100%。其中N ​c ​​
是两个集合都有的不相等整数的个数,N ​t ​​ 是两个集合一共有的不相等整数的个数。你的任务就是计算任意一对给定集合的相似度。

输入格式: 输入第一行给出一个正整数N(≤50),是集合的个数。随后N行,每行对应一个集合。每个集合首先给出一个正整数M(≤10 ​4 ​​
),是集合中元素的个数;然后跟M个[0,10 ​9 ​​ ]区间内的整数。

之后一行给出一个正整数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%
#include<iostream>
#include<stdio.h>
#include<set>
using namespace std;

set<int> s[55];
int n, m;	// n记录几组,m记录每组第一个数,即元素个数

int main()
{ 
   
	cin>>n;
	for (int i = 1; i <= n; i++)
	{ 
   
		cin>>m;
		while (m--)		// 牛逼 多学学 m是零的时候就不执行 真牛逼
		{ 
   
			int num;
			cin>>num;
			s[i].insert(num);	 // 往set容器里插入元素
		}
	}

	int k;
	cin>>k;
	while (k--)
	{ 
   
		int a, b;	// 记录索要计算的行
		cin >> a >> b;
		set<int>::iterator it; // 建立迭代器,用于查找
		int cnta = s[a].size(), cntb = s[b].size(), cnt = 0;
		for (it = s[a].begin(); it != s[a].end(); it++)
		{ 
   
			if (s[b].find(*it) != s[b].end())
				cnt++;
		}
		printf("%.2lf%\n", cnt*1.0 / (cnta + cntb - cnt) * 100);
	}
	return 0;
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/170893.html原文链接:https://javaforall.net

(0)
上一篇 2022年8月18日 下午3:00
下一篇 2022年8月18日 下午3:16


相关推荐

  • ChatGPT 中文版|国内ChatGPT中文版镜像网站免费推荐(支持 GPT/claude/deepseek)

    ChatGPT 中文版|国内ChatGPT中文版镜像网站免费推荐(支持 GPT/claude/deepseek)

    2026年3月16日
    4
  • MySQL的HAVING用法「建议收藏」

    MySQL的HAVING用法「建议收藏」来自:https://blog.lmlyz.online/index/detail/id/59.htmlwhere、聚合函数、having在from后面的执行顺序:where>聚合函数(sum,min,max,avg,count)>having若须引入聚合函数来对groupby结果进行过滤则只能用having。(是先执行聚合函数还是先过滤然后比对我上面列出的执行顺序…

    2022年6月18日
    41
  • java运算中的取余

    java运算中的取余java中的取模(取余)在java运算中有时会出现对一个整数取模(取余)操作,首先复习一下小学学过的除法公式:除数÷被除数=商如果没有被整数就会出现余数,例:10÷3=3余数为1在java运算中,取余符号是%1、第一种情况一个大的整数对一个比它小的整数取余publicstaticvoidmain(String[]args){in…

    2022年6月1日
    140
  • webpack devtools_webpack loader和plugin的区别

    webpack devtools_webpack loader和plugin的区别首先我们需要知道sourcemap是什么?顾名思义资源映射,它做的就是维护打包处理后的代码与源代码之间的映射关系,只有映射的精确性则取决于webpack的配置项devtool,其决定了项目打包时是否以及如何生成sourcemap,而生成的sourcemap不同决定了构建产物的体积和构建以及重新构建的速度的不同。具体配置项可选值可参考webpack文档这里不一一列举。首先可以看一下webpack的源码,对应处理逻辑仅有20行:https://github.com/webpack/webpack/bl

    2022年10月6日
    9
  • Windows系统日志分析_windows系统事件日志

    Windows系统日志分析_windows系统事件日志Windows操作系统的日志分析Windows日志简介Windows操作系统在其运行的生命周期中会记录其大量的日志信息,这些日志信息包括:Windows事件日志,Windows服务器角色日志,FTP日志,邮件服务日志,MSSQLServer数据库日志等。主要记录行为当前的日期、时间、用户、计算机、信息来源、事件、类型、分类等信息。用户可以通过它来检查错误发生的原因,处理应急事件,提供溯源,这些日志信息在取证和溯源中扮演着重要的角色。Windows日志事件类型Windows操作系统日志分析Wi

    2025年10月2日
    2
  • 预写式日志(Write-Ahead Logging (WAL))

    预写式日志(Write-Ahead Logging (WAL))

    2021年11月25日
    44

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号