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;
}
相关推荐
ysu_03147 小时前
05 | 持久化撤销提示非核心功能
算法·游戏程序
浮沉9879 小时前
二分查找算法概述&通用模板
算法
Keven_1110 小时前
算法札记:SPFA判负环算法的证明
算法
什巳10 小时前
JAVA练习278- 和为 K 的子数组
java·学习·算法·leetcode
Jerry10 小时前
LeetCode 347. 前 K 个高频元素
算法
Young Doro11 小时前
SAC 算法
线性代数·算法·机器学习
罗超驿11 小时前
2.算法效率的核心密码:时间复杂度和空间复杂度详解
java·数据结构·算法
:-)11 小时前
算法-堆排序
数据结构·算法·排序算法