zoukankan      html  css  js  c++  java
  • 【PAT甲级】1063 Set Similarity (25 分)

    题意:

    输入一个正整数N表示集合的个数(<=50),接着输入N行,每行包括一个数字x代表集合的容量(<=10000),接着输入x个非负整数。输入一个正整数Q(<=2000),接着输入Q行,每行包括两个数字代表集合的编号,每次询问输出两个集合的重复率(保留一位小数,重复率等于两个集合相同的数字个数除以两个集合合并为一个集合的话集合内数字的个数)。

    AAAAAccepted code:

     1 #define HAVE_STRUCT_TIMESPEC
     2 #include<bits/stdc++.h>
     3 using namespace std;
     4 int a[57][10007];
     5 set<int>st[57];
     6 int b[57][10007];
     7 int cnt[57];
     8 int main(){
     9     int n;
    10     cin>>n;
    11     for(int i=1;i<=n;++i){
    12         int x;
    13         cin>>x;
    14         for(int j=1;j<=x;++j){
    15             cin>>a[i][j];
    16             if(!st[i].count(a[i][j])){
    17                 st[i].insert(a[i][j]);
    18                 b[i][++cnt[i]]=a[i][j];
    19             }
    20         }
    21     }
    22     int q;
    23     cin>>q;
    24     while(q--){
    25         int x,y;
    26         cin>>x>>y;
    27         if(cnt[y]<cnt[x])
    28             swap(x,y);
    29         int tamp=0;
    30         int sum=cnt[x]+cnt[y];
    31         for(int i=1;i<=cnt[x];++i)
    32             if(st[y].count(b[x][i]))
    33                 ++tamp;
    34         double ans=100.0*tamp/(sum-tamp);
    35         printf("%.1f%
    ",ans);
    36     }
    37     return 0;
    38 }
    保持热爱 不懈努力 不试试看怎么知道会失败呢(划掉) 世上无难事 只要肯放弃(划掉)
  • 相关阅读:
    vue--路径前面的@的意思
    格式化规则修改prettierrc
    windows快捷键
    使用npm 添加less之后报错
    IOS中如何提高UITableView的性能?
    ffmpeg解码h264 Increasing reorder buffer
    Chrome浏览器关联文件图标空白问题解决方案
    mysql 问题sql 截图
    1、HR需要哪些自我提升
    1、文案职业大揭秘
  • 原文地址:https://www.cnblogs.com/ldudxy/p/11757664.html
Copyright © 2011-2022 走看看