zoukankan      html  css  js  c++  java
  • L1-020 帅到没朋友

    题目:

    输入格式:

    输入第一行给出一个正整数N(≤100),是已知朋友圈的个数;随后N行,每行首先给出一个正整数K(≤1000),为朋友圈中的人数,然后列出一个朋友圈内的所有人——为方便起见,每人对应一个ID号,为5位数字(从00000到99999),ID间以空格分隔;之后给出一个正整数M(≤10000),为待查询的人数;随后一行中列出M个待查询的ID,以空格分隔。

    注意:没有朋友的人可以是根本没安装“朋友圈”,也可以是只有自己一个人在朋友圈的人。虽然有个别自恋狂会自己把自己反复加进朋友圈,但题目保证所有K超过1的朋友圈里都至少有2个不同的人。

    输出格式:

    按输入的顺序输出那些帅到没朋友的人。ID间用1个空格分隔,行的首尾不得有多余空格。如果没有人太帅,则输出No one is handsome

    注意:同一个人可以被查询多次,但只输出一次。

    输入样例1:

    3

    3 11111 22222 55555

    2 33333 44444

    4 55555 66666 99999 77777

    8

    55555 44444 10000 88888 22222 11111 23333 88888

    输出样例1:

    10000 88888 23333

    输入样例2:

    3

    3 11111 22222 55555

    2 33333 44444

    4 55555 66666 99999 77777

    4 55555 44444 22222 11111

    输出样例2:

    No one is handsome

    思路:

    用一个集合set存储所有人,不过如果这个朋友圈的人数是1,那么这个人就不存入集合(朋友圈只有一个人的人直接做没有朋友圈处理)。然后在这个集合查找要找的人,如果没有找到,就将这个人存入另一个集合set并输出,在进行查找之前要先查找这第二个集合看这个人是否已经被输出过了。设置一个flag,flag==1或0代表是否有人被输出,如果没有人被输出则输出No one is handsome

    知识点for me:

    1、使用set进行存储是因为它有一个方法可以直接查找集合中的值。以set<int> s为例:s.find(2) != s.end()代表找到了2这个元素,s.find(2) == s.end()代表没找到,s.end()表示s的最后⼀个元素的下⼀个元素所在的位置。

    上代码:

    #include <iostream>
    #include <set>
    using namespace std;
    int main()
    {
        int a,b;
        string s;
        cin>>a;
        set<string> set,out;
        for(int i=0;i<a;i++)
        {
            cin>>b;
            if(b==1){
                cin>>s;
            }else{
                for(int j=0;j<b;j++)
                {
                    cin>>s;
                    set.insert(s);
                }
            }
        }
        int n;
        int flag=0;
        string m;
        cin>>n;
        for(int i=0;i<n;i++)
        {    
            cin>>m;
            if(set.find(m)==set.end()&&out.find(m)==out.end())
            {
                if(flag==1){
                    cout<<" ";
                }
                out.insert(m);
                flag=1;
                cout<<m;
            }
        }
        if(flag==0)
        {
            cout << "No one is handsome";
        }
        return 0;
    }

  • 相关阅读:
    Eclipse中自动提示的方法参数都是arg0,arg1的解决方法
    eclipse 下找不到或无法加载主类的解决办法
    将博客搬至CSDN
    java接口中定义成员变量
    重写与重载
    多位数每一位个系数:个位num%10;十位num/10%10.......
    输出 n=6 的三角数字阵(JAVA基础回顾)
    二维数组的遍历之查漏补缺
    For循环打印正三角,倒三角,菱形
    JAVA的continue用法
  • 原文地址:https://www.cnblogs.com/littleLittleTiger/p/10360061.html
Copyright © 2011-2022 走看看