STL_A1063 Set Similarity (25 分)

Posted 2o2o

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STL_A1063 Set Similarity (25 分)相关的知识,希望对你有一定的参考价值。

https://pintia.cn/problem-sets/994805342720868352/problems/994805409175420928

#include<iostream>
using namespace std;
#include<cstdio>
#include<set>

const int N=51;
set<int> st[N];
set<int>::iterator it;

//比较集合st[x]与st[y]
void compare(int x,int y) {
    int allNum=st[y].size();
    //利用集合st[y]统计总共不同元素个数
    int sameNum=0;
    //遍历集合st[x]
    for(it=st[x].begin();it!=st[x].end();it++) {
        if(st[y].find(*it)!=st[y].end()) sameNum++;
        else allNum++;
    }
    printf("%.1f%%\n",sameNum*100.0/allNum);
}

int main() {
    int n,k,q,v,st1,st2;
    scanf("%d",&n);
    for(int i=1;i<=n;i++) {
        scanf("%d",&k);
        for(int j=0;j<k;j++) {
            scanf("%d",&v);
            st[i].insert(v); //把元素v加入集合st[i]
        }
    }
    scanf("%d",&q);
    for(int i=0;i<q;i++) {
        scanf("%d %d",&st1,&st2);
        compare(st1,st2);
    }
    return 0;
}

以上是关于STL_A1063 Set Similarity (25 分)的主要内容,如果未能解决你的问题,请参考以下文章

PAT1063. Set Similarity (25)

1063 Set Similarity (25 分)

PAT1063:Set Similarity

1063 Set Similarity (25)

PAT 1063. Set Similarity

1063 Set Similarity