浙江财经大学
信息管理与工程学院

PAT(B) 1065. 单身狗(25)

本文由 Ocrosoft 于 2016-12-26 17:28:24 发表

“单身狗”是中文对于单身人士的一种爱称。本题请你从上万人的大型派对中找出落单的客人,以便给予特殊关爱。

输入格式:

输入第一行给出一个正整数N(<=50000),是已知夫妻/伴侣的对数;随后N行,每行给出一对夫妻/伴侣——为方便起见,每人对应一个ID号,为5位数字(从00000到99999),ID间以空格分隔;之后给出一个正整数M(<=10000),为参加派对的总人数;随后一行给出这M位客人的ID,以空格分隔。题目保证无人重婚或脚踩两条船。

输出格式:

首先第一行输出落单客人的总人数;随后第二行按ID递增顺序列出落单的客人。ID间用1个空格分隔,行的首尾不得有多余空格。

输入样例:

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

输出样例:

5
10000 23333 44444 55555 88888
#include <set>
#include <map>
#include <list>
#include <cmath>
#include <stack>
#include <queue>
#include <ctime>
#include <string>
#include <cstdio>
#include <vector>
#include <cctype>
#include <climits>
#include <sstream>
#include <cstring>
#include <cstdlib>
#include <iostream>
#include <algorithm>
#include <functional>
#define strend string::npos
#define ms(a) memset(a,0,sizeof(a))
#define rep(a,v,b) for(int a=v;a<b;a++)
#define repe(a,v,b) for(int a=v;a<=b;a++)
#define pre(a,v,b) for(int a=v;a>b;a--)
#define pree(a,v,b) for(int a=v;a>=b;a--)
#define lowbit(x) x&-x
typedef long long LL;
const LL LINF = LLONG_MAX / 2;
const int INF = INT_MAX / 2;
const int MAXN = 27 + 10;
const int MOD = 1000000007;
int gcd(int a, int b)
{
	if (!b)return a;
	return gcd(b, a%b);
}
/*(◕‿‿◕)(◕‿‿◕) (◕‿‿◕) (◕‿‿◕) (◕‿‿◕) (◕‿‿◕)*/
/*(◕‿‿◕) 签订契约,成为马猴烧酒吧 (◕‿‿◕)*/
/*(◕‿‿◕)(◕‿‿◕) (◕‿‿◕) (◕‿‿◕) (◕‿‿◕) (◕‿‿◕)*/
using namespace std;
int main()
{
	int n, m;
	cin >> n;
	map<string, string> md;
	while (n--)
	{
		string a, b;
		cin >> a >> b;
		md[a] = b;
		md[b] = a;
	}
	cin >> m;
	map<string, bool> mp;
	while (m--)
	{
		string s;
		cin >> s;
		mp[s] = 1;
	}
	map<string, bool>::iterator it = mp.begin();
	bool flag = 0;
	vector<string> v;
	for (; it != mp.end(); it++)
	{
		if (md.count(it->first))
		{
			if (mp.count(md[it->first])) {}
			else v.push_back(it->first);
		}
		else v.push_back(it->first);
	}
	printf("%d\n", v.size());
	if (v.size() == 0)return 0;
	for (int i = 0; i < v.size(); i++)
		if (i == 0)cout << v[i];
		else cout << " " << v[i];
	printf("\n");
	return 0;
}

欢迎转载,请保留出处与链接。Ocrosoft » PAT(B) 1065. 单身狗(25)

点赞 (0)or拍砖 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址