• PTA L2-005 集合相似度


    题目位置

    通过这个题学习了stl中的set的用法,并第一次了解了迭代器。

    通过set容器将数据去重,并快速查找。

    #include <iostream>
    #include <stdio.h>
    #include <set>
    #include <algorithm>
    using namespace std;
    int n,k;
    set<int> s[55];
    
    int main()
    {
        cin>>n;
        for(int i=1;i<=n;i++)
        {
            int num;
            cin>>num;
            for(int j=1;j<=num;j++)
            {
                int elem;
                cin>>elem;
                s[i].insert(elem);
            }
        }
        cin>>k;
        for(int i=1;i<=k;i++)
        {
            int equal=0,g1,g2;
            cin>>g1>>g2;
            set<int>::iterator s_it;
            for(s_it=s[g1].begin();s_it!=s[g1].end();s_it++)
            {
                if(s[g2].find(*s_it)!=s[g2].end()) equal++;
            }
            int inequal=s[g1].size()+s[g2].size()-equal;
            printf("%.2f%%
    ",100.0*equal/inequal);
        }
        return 0;
    }
  • 相关阅读:
    find the most comfortable road
    Rank of Tetris
    Segment set
    Codeforces Round #380 (Div. 2)D. Sea Battle
    A Bug's Life
    Is It A Tree?
    N皇后问题
    符号三角形
    2016 ICPC总结
    Sudoku Killer
  • 原文地址:https://www.cnblogs.com/BakaCirno/p/10479335.html
Copyright © 2020-2023  润新知