PAT 1065 单身狗 分数:25分 知识点:哈希

题目:1065 单身狗 - PAT (Basic Level) Practice (中文) (pintia.cn)

解析:65_哔哩哔哩_bilibili

思想

把夫妻装入到 夫妻表(map)里面,然后把参加宴会的人装到哈希表里面,如果宴会里的人在 夫妻表里 找不到,说明就是单身狗,把单身狗加到 单身里表(vector)里面,升序输出

js 复制代码
#include<bits/stdc++.h>
using namespace std;
map<string,string>mp;
vector<string>ans;
map<string,int>haxi;
string a[10005];
int main()
{
   int n;cin>>n;
    for(int i=0;i<n;i++)
    {
        string a,b;cin>>a>>b;
        mp[a]=b,mp[b]=a;
    }
    int m;cin>>m;
    for(int i=0;i<m;i++)cin>>a[i],haxi[a[i]]=1;
   
    for(int i=0;i<m;i++)
    {
        if(!haxi[mp[a[i]]])ans.push_back(a[i]);
    }

    sort(ans.begin(),ans.end());
    cout<<ans.size()<<endl;
    for(int i=0;i<ans.size();i++)
    {
        if(i)cout<<" ";  //如果i不为收首就打印空格
        cout<<ans[i];
    }
    return 0;
}
相关推荐
你怎么知道我是队长16 小时前
C语言---指针
c语言·数据结构·算法
汉克老师16 小时前
GESP2025年12月认证C++五级真题与解析(编程题2 (相等序列))
c++·算法·贪心算法·中位数·质数分解
前端小L16 小时前
双指针专题(九):谁是窗口里的老大?——「滑动窗口最大值」
javascript·算法·双指针与滑动窗口
CAU界编程小白16 小时前
Linux系统编程系列之模拟文件操作
linux·算法
萤虫之光16 小时前
有序数组中的单一元素(一)
数据结构·算法
颜酱17 小时前
从经典问题入手,吃透动态规划核心(DP五部曲实战)
前端·javascript·算法
WBluuue17 小时前
AtCoder Beginner Contest 438(ABCDEF)
c++·算法
Murphy_3117 小时前
从根上了解一下复指数
算法
Run_Teenage17 小时前
Linux:理解IO,重定向
linux·运维·算法
你撅嘴真丑17 小时前
素数对 与 不吉利日期
算法