PAT甲级1121题(单身狗)


1.题目介绍

1121

nikename:绰号

bigamous:重婚的

dangling:摇摆的

2.考察点,难度

散列类,Map容器插入方法,Set容器的运用,难度易

3.解题代码

#include <iostream>
#include <set>
#include <unordered_map>
using namespace std;

int main(){
    int N,M,a,b;
    unordered_map<int,int> m;
    set<int> s,real;
    set<int>::iterator iter;
    cin>>N;
    for(int i=0;i<N;i++){
        cin>>a>>b;
        m.insert({a,b});
        m.insert({b,a});
    }
    cin>>M;
    for(int i=0;i<M;i++){
        cin>>a;
        real.insert(a);
    }

    for(iter=real.begin();iter!=real.end();iter++){
        if(m.find(*iter)==m.end()){
            s.insert(*iter);
        }
        else{
            if(real.find(m[*iter])==real.end()){
                s.insert(*iter);
            }
        }
    }
    cout<<s.size()<<endl;
    for(iter=s.begin();iter!=s.end();iter++){
        iter==s.begin()?printf("%05d",*iter):printf(" %05d",*iter);
    }
    return 0;
}

4.原题地址

https://pintia.cn/problem-sets/994805342720868352/problems/994805352359378944


文章作者: Peyton
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Peyton !
  目录