PAT(甲级)1063
2015-09-26 11:09
281 查看
1063. Set Similarity (25)
时间限制300 ms
内存限制
65536 kB
代码长度限制
16000 B
判题程序
Standard
作者
CHEN, Yue
Given two sets of integers, the similarity of the sets is defined to be Nc/Nt*100%, where Nc is the number of distinct common numbers shared by the two sets,
and Nt is the total number of distinct numbers in the two sets. Your job is to calculate the similarity of any given pair of sets.
Input Specification:
Each input file contains one test case. Each case first gives a positive integer N (<=50) which is the total number of sets. Then N lines follow, each gives a set with a positive M (<=104) and followed by M integers in the range
[0, 109]. After the input of sets, a positive integer K (<=2000) is given, followed by K lines of queries. Each query gives a pair of set numbers (the sets are numbered from 1 to N). All the numbers in a line are separated
by a space.
Output Specification:
For each query, print in one line the similarity of the sets, in the percentage form accurate up to 1 decimal place.
Sample Input:
3 3 99 87 101 4 87 101 5 87 7 99 101 18 5 135 18 99 2 1 2 1 3
Sample Output:
50.0% 33.3%
#include <cstdio> #include <set> #define SIZE 52 using namespace std; set<long> s[SIZE]; void setsimilarity(long &num1,long &num2,set<long> s[]){ long count1=s[num1].size(); long count2=s[num2].size(); long count=0; set<long>::iterator iter=s[num1].begin(); while(iter !=s[num1].end()){ if(s[num2].find(*iter) !=s[num2].end()) count++; iter++; } double res= 100.0*count/(count1+count2-count); printf("%.1lf%\n",res); } int main() { long N,M,K; long i,j,tmp; scanf("%ld",&N); for(i=1;i<=N;i++){ scanf("%ld",&M); for(j=0;j<M;j++){ scanf("%ld",&tmp); s[i].insert(tmp); } } scanf("%ld",&K); for(i=0;i<K;i++){ scanf("%ld%ld",&j,&tmp); setsimilarity(j,tmp,s); } return 0; }
相关文章推荐
- angularjs学习笔记之三大模块(modal,controller,view)
- 文章标题
- 黑马程序员————逼近法在java编程中的运用,开根号原理、已知x的x次幂的值求x
- C++文件中读单词并统计输出改单词及其个数
- 亿级Web系统搭建:单机到分布式集群
- HD1003(Max Sum)
- Lambda表达式和表达式树
- Settings
- PAT(甲级)1062
- tomcat重启脚本
- java 代码中实现 TextView的 DrawableTop属性
- 《数据结构》——排序
- Sping管理事务实现方式
- VB6基本数据库应用(十):【增补篇】游标Cursor和锁Lock简介
- 数据库之索引
- Linux下system()函数返错,errno是ECHILD http://blog.csdn.net/taolinke/article/details/8057335
- Winform- DotNetBar for Windows Forms的安装的添加
- OJDBC版本区别
- Linux Ftp Notes
- Win10预览版10162无法检测到更新怎么办?