L2-005 集合相似度

L2-005 集合相似度

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main() {
    int n,m,t;
    set<int>s[51];//此题主要考虑用set来解决 
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>m;
        while(m--)
        {
            cin>>t;
            s[i].insert(t);
        }
    }
    int k,a,b;
    cin>>k;
    int numsame=0;
    double sum=0;
    while(k--)
    {
        numsame=0;
        cin>>a>>b;
        set<int>::iterator j; //见后文补充知识 
        for(j=s[a].begin();j!=s[a].end();j++)
        {
            if(s[b].count(*j))
            numsame++;
        }
        sum=(numsame*100)/(s[a].size()+s[b].size()-numsame);
        printf("%.2lf%%\n", numsame * 100.0 / (s[a].size() + s[b].size() - numsame));
    }
    return 0;
} 

 

原文链接: https://www.cnblogs.com/cornfield/p/17083467.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    L2-005 集合相似度

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/315280

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月16日 下午1:42
下一篇 2023年2月16日 下午1:42

相关推荐