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;
}
相关推荐
Yzzz-F1 分钟前
2018-2019 ACM-ICPC, Asia Dhaka Regional ContestC[数论]
算法
Frostnova丶7 分钟前
LeetCode 3474. 字典序最小的生成字符串
算法·leetcode·职场和发展
REDcker7 分钟前
Nagle 算法与 TCP_NODELAY、TCP_CORK 详解
网络·tcp/ip·算法
β添砖java23 分钟前
深度优先搜索DFS
算法·深度优先
小糯米60126 分钟前
C++ 并查集
java·c++·算法
IronMurphy26 分钟前
【算法三十四】39. 组合总和
算法·深度优先
重庆小透明26 分钟前
力扣刷题【3】相交链表
算法·leetcode·链表
算法鑫探26 分钟前
C语言实战:学生成绩统计与分析
c语言·数据结构·算法·新人首发
IAUTOMOBILE29 分钟前
Code Marathon 项目源码解析与技术实践
java·前端·算法
Lyyaoo.29 分钟前
【JAVA基础面经】深拷贝与浅拷贝
java·开发语言·算法