码迷,mamicode.com
首页 > 其他好文 > 详细

PAT 1121 Damn Single[简单]

时间:2018-10-27 21:03:27      阅读:123      评论:0      收藏:0      [点我收藏+]

标签:ati   main   title   cto   which   text   str   为什么   space   

1121 Damn Single (25 分)

"Damn Single (单身狗)" is the Chinese nickname for someone who is being single. You are supposed to find those who are alone in a big party, so they can be taken care of.

Input Specification:

Each input file contains one test case. For each case, the first line gives a positive integer N (≤ 50,000), the total number of couples. Then N lines of the couples follow, each gives a couple of ID‘s which are 5-digit numbers (i.e. from 00000 to 99999). After the list of couples, there is a positive integer M (≤ 10,000) followed by M ID‘s of the party guests. The numbers are separated by spaces. It is guaranteed that nobody is having bigamous marriage (重婚) or dangling with more than one companion.

Output Specification:

First print in a line the total number of lonely guests. Then in the next line, print their ID‘s in increasing order. The numbers must be separated by exactly 1 space, and there must be no extra space at the end of the line.

Sample Input:

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

Sample Output:

5
10000 23333 44444 55555 88888

 题目大意:给出n对情侣,然后再给出m对参加宴会的人,判断这些人当中有多少人是没有伙伴来参加宴会的(本身已经结婚,但是没带伴侣来的也会被计算进来)

#include <iostream>
#include<vector>
#include<map>
using namespace std;

map<string,string> m2f;
map<string,string> inp;
int main() {
    int n;
    cin>>n;
    string x,y;
    for(int i=0;i<n;i++){
        cin>>x>>y;
        m2f[x]=y;
        m2f[y]=x;
    }
    int m;
    cin>>m;
    string s;
    for(int i=0;i<m;i++){
        cin>>s;
        inp[s]=1;//因为这里的map是自然排序的,所以最终vector里也是自然排序的。
    }
    int ct=0;
    vector<string> vt;
    for(auto it=inp.begin();it!=inp.end();it++){
        string str=it->first;
        if(inp.count(m2f[str])==0){
            vt.push_back(str);
        }
    }
    cout<<vt.size()<<\n;
    for(int i=0;i<vt.size();i++){
        cout<<vt[i];
        if(i!=vt.size()-1)cout<<" ";
    }
    return 0;
}

 

//还是比较简单的,但是还是提交了两次,为什么呢?

1.需要主要最后的输出格式,是1!=vt.size()-1,知道了吗? 

PAT 1121 Damn Single[简单]

标签:ati   main   title   cto   which   text   str   为什么   space   

原文地址:https://www.cnblogs.com/BlueBlueSea/p/9863116.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!