• PAT乙级1065


    “单身狗”是中文对于单身人士的一种爱称。本题请你从上万人的大型派对中找出落单的客人,以便给予特殊关爱。

    输入格式:

    输入第一行给出一个正整数 N(≤ 50 000),是已知夫妻/伴侣的对数;随后 N 行,每行给出一对夫妻/伴侣——为方便起见,每人对应一个 ID 号,为 5 位数字(从 00000 到 99999),ID 间以空格分隔;之后给出一个正整数 M(≤ 10 000),为参加派对的总人数;随后一行给出这 M 位客人的 ID,以空格分隔。题目保证无人重婚或脚踩两条船。

    输出格式:

    首先第一行输出落单客人的总人数;随后第二行按 ID 递增顺序列出落单的客人。ID 间用 1 个空格分隔,行的首尾不得有多余空格。

    输入样例:

    3
    11111 22222
    33333 44444
    55555 66666
    7
    55555 44444 10000 88888 22222 11111 23333
    

    输出样例:

    5
    10000 23333 44444 55555 88888
     1 #include<bits/stdc++.h>
     2 #define maxn 100005
     3 using namespace std;
     4 
     5 int main()
     6 {
     7     int ans=0;
     8     map<int,int>mp;
     9     set<int> s;
    10     set<int>::iterator it;
    11     int n;
    12     cin>>n;
    13     for(int i=1;i<=n;i++)
    14     {
    15         int a,b;
    16         cin>>a>>b;
    17         mp.insert(make_pair(a,b));
    18         mp.insert(make_pair(b,a));
    19     }
    20     cin>>n;
    21     int b[n];
    22     for(int i=0;i<n;i++)
    23     {
    24      cin>>b[i];
    25     }
    26     int t;
    27     for(int i=0;i<n;i++){
    28             int flag=1;
    29             if(mp.find(b[i])!=mp.end())
    30         {
    31             t=mp[b[i]];
    32              flag=0;
    33         }
    34         if(flag)
    35             s.insert(b[i]);
    36         else{
    37        for(int j=0;j<n;j++)
    38         if(b[j]==t)
    39         {ans++;
    40         flag=1;
    41         break;
    42         }
    43         if(!flag)
    44         s.insert(b[i]);
    45         }
    46     }
    47     cout<<n-ans<<endl;
    48     for(it=s.begin();it!=s.end();it++)
    49         if(it==s.begin())
    50         printf("%05d",*it);
    51       else
    52         printf(" %05d",*it);
    53     return 0;
    54 }

    思路:

    把夫妻/伴侣存入map中,把参加派对的人存入数组中,如果参加派对的人不在map中,将值插入set;如果参加派对的人在map中但是与她对应的人不在数组里,将值插入set。

    遍历set并输出。

  • 相关阅读:
    Linux安装RabbitMQ3.8.7
    VS安装Resharper,使用IDEA风格的快捷键,还需修改的快捷键
    Spring Boot Starter开发
    windows安装redis集群
    spring为bean指定InitMethod和DestroyMethod的三种方法
    spring注入的方式总结
    bean运行时值注入
    CodeForces 1569C Jury Meeting
    CodeForces 1569B Chess Tournament
    CodeForces 1569A Balanced Substring
  • 原文地址:https://www.cnblogs.com/zuiaimiusi/p/10918436.html
Copyright © 2020-2023  润新知